#ifndef GL_PROC_GL_VERSION_4_3_HPP
#define GL_PROC_GL_VERSION_4_3_HPP
#include "common.hpp"


#ifndef GL_NO_ERROR
#define GL_NO_ERROR 0
#endif //GL_NO_ERROR
#ifndef GL_FALSE
#define GL_FALSE 0
#endif //GL_FALSE
#ifndef GL_NONE
#define GL_NONE 0
#endif //GL_NONE
#ifndef GL_ZERO
#define GL_ZERO 0
#endif //GL_ZERO
#ifndef GL_POINTS
#define GL_POINTS 0x0000
#endif //GL_POINTS
#ifndef GL_VERTEX_SHADER_BIT
#define GL_VERTEX_SHADER_BIT 0x00000001
#endif //GL_VERTEX_SHADER_BIT
#ifndef GL_CONTEXT_CORE_PROFILE_BIT
#define GL_CONTEXT_CORE_PROFILE_BIT 0x00000001
#endif //GL_CONTEXT_CORE_PROFILE_BIT
#ifndef GL_SYNC_FLUSH_COMMANDS_BIT
#define GL_SYNC_FLUSH_COMMANDS_BIT 0x00000001
#endif //GL_SYNC_FLUSH_COMMANDS_BIT
#ifndef GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT
#define GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT 0x00000001
#endif //GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT
#ifndef GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT
#define GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT 0x00000001
#endif //GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT
#ifndef GL_FRAGMENT_SHADER_BIT
#define GL_FRAGMENT_SHADER_BIT 0x00000002
#endif //GL_FRAGMENT_SHADER_BIT
#ifndef GL_CONTEXT_FLAG_DEBUG_BIT
#define GL_CONTEXT_FLAG_DEBUG_BIT 0x00000002
#endif //GL_CONTEXT_FLAG_DEBUG_BIT
#ifndef GL_ELEMENT_ARRAY_BARRIER_BIT
#define GL_ELEMENT_ARRAY_BARRIER_BIT 0x00000002
#endif //GL_ELEMENT_ARRAY_BARRIER_BIT
#ifndef GL_CONTEXT_COMPATIBILITY_PROFILE_BIT
#define GL_CONTEXT_COMPATIBILITY_PROFILE_BIT 0x00000002
#endif //GL_CONTEXT_COMPATIBILITY_PROFILE_BIT
#ifndef GL_GEOMETRY_SHADER_BIT
#define GL_GEOMETRY_SHADER_BIT 0x00000004
#endif //GL_GEOMETRY_SHADER_BIT
#ifndef GL_UNIFORM_BARRIER_BIT
#define GL_UNIFORM_BARRIER_BIT 0x00000004
#endif //GL_UNIFORM_BARRIER_BIT
#ifndef GL_TESS_CONTROL_SHADER_BIT
#define GL_TESS_CONTROL_SHADER_BIT 0x00000008
#endif //GL_TESS_CONTROL_SHADER_BIT
#ifndef GL_TEXTURE_FETCH_BARRIER_BIT
#define GL_TEXTURE_FETCH_BARRIER_BIT 0x00000008
#endif //GL_TEXTURE_FETCH_BARRIER_BIT
#ifndef GL_TESS_EVALUATION_SHADER_BIT
#define GL_TESS_EVALUATION_SHADER_BIT 0x00000010
#endif //GL_TESS_EVALUATION_SHADER_BIT
#ifndef GL_COMPUTE_SHADER_BIT
#define GL_COMPUTE_SHADER_BIT 0x00000020
#endif //GL_COMPUTE_SHADER_BIT
#ifndef GL_SHADER_IMAGE_ACCESS_BARRIER_BIT
#define GL_SHADER_IMAGE_ACCESS_BARRIER_BIT 0x00000020
#endif //GL_SHADER_IMAGE_ACCESS_BARRIER_BIT
#ifndef GL_COMMAND_BARRIER_BIT
#define GL_COMMAND_BARRIER_BIT 0x00000040
#endif //GL_COMMAND_BARRIER_BIT
#ifndef GL_PIXEL_BUFFER_BARRIER_BIT
#define GL_PIXEL_BUFFER_BARRIER_BIT 0x00000080
#endif //GL_PIXEL_BUFFER_BARRIER_BIT
#ifndef GL_DEPTH_BUFFER_BIT
#define GL_DEPTH_BUFFER_BIT 0x00000100
#endif //GL_DEPTH_BUFFER_BIT
#ifndef GL_TEXTURE_UPDATE_BARRIER_BIT
#define GL_TEXTURE_UPDATE_BARRIER_BIT 0x00000100
#endif //GL_TEXTURE_UPDATE_BARRIER_BIT
#ifndef GL_BUFFER_UPDATE_BARRIER_BIT
#define GL_BUFFER_UPDATE_BARRIER_BIT 0x00000200
#endif //GL_BUFFER_UPDATE_BARRIER_BIT
#ifndef GL_FRAMEBUFFER_BARRIER_BIT
#define GL_FRAMEBUFFER_BARRIER_BIT 0x00000400
#endif //GL_FRAMEBUFFER_BARRIER_BIT
#ifndef GL_STENCIL_BUFFER_BIT
#define GL_STENCIL_BUFFER_BIT 0x00000400
#endif //GL_STENCIL_BUFFER_BIT
#ifndef GL_TRANSFORM_FEEDBACK_BARRIER_BIT
#define GL_TRANSFORM_FEEDBACK_BARRIER_BIT 0x00000800
#endif //GL_TRANSFORM_FEEDBACK_BARRIER_BIT
#ifndef GL_ATOMIC_COUNTER_BARRIER_BIT
#define GL_ATOMIC_COUNTER_BARRIER_BIT 0x00001000
#endif //GL_ATOMIC_COUNTER_BARRIER_BIT
#ifndef GL_SHADER_STORAGE_BARRIER_BIT
#define GL_SHADER_STORAGE_BARRIER_BIT 0x00002000
#endif //GL_SHADER_STORAGE_BARRIER_BIT
#ifndef GL_COLOR_BUFFER_BIT
#define GL_COLOR_BUFFER_BIT 0x00004000
#endif //GL_COLOR_BUFFER_BIT
#ifndef GL_MAP_READ_BIT
#define GL_MAP_READ_BIT 0x0001
#endif //GL_MAP_READ_BIT
#ifndef GL_LINES
#define GL_LINES 0x0001
#endif //GL_LINES
#ifndef GL_MAP_WRITE_BIT
#define GL_MAP_WRITE_BIT 0x0002
#endif //GL_MAP_WRITE_BIT
#ifndef GL_LINE_LOOP
#define GL_LINE_LOOP 0x0002
#endif //GL_LINE_LOOP
#ifndef GL_LINE_STRIP
#define GL_LINE_STRIP 0x0003
#endif //GL_LINE_STRIP
#ifndef GL_MAP_INVALIDATE_RANGE_BIT
#define GL_MAP_INVALIDATE_RANGE_BIT 0x0004
#endif //GL_MAP_INVALIDATE_RANGE_BIT
#ifndef GL_TRIANGLES
#define GL_TRIANGLES 0x0004
#endif //GL_TRIANGLES
#ifndef GL_TRIANGLE_STRIP
#define GL_TRIANGLE_STRIP 0x0005
#endif //GL_TRIANGLE_STRIP
#ifndef GL_TRIANGLE_FAN
#define GL_TRIANGLE_FAN 0x0006
#endif //GL_TRIANGLE_FAN
#ifndef GL_MAP_INVALIDATE_BUFFER_BIT
#define GL_MAP_INVALIDATE_BUFFER_BIT 0x0008
#endif //GL_MAP_INVALIDATE_BUFFER_BIT
#ifndef GL_LINES_ADJACENCY
#define GL_LINES_ADJACENCY 0x000A
#endif //GL_LINES_ADJACENCY
#ifndef GL_LINE_STRIP_ADJACENCY
#define GL_LINE_STRIP_ADJACENCY 0x000B
#endif //GL_LINE_STRIP_ADJACENCY
#ifndef GL_TRIANGLES_ADJACENCY
#define GL_TRIANGLES_ADJACENCY 0x000C
#endif //GL_TRIANGLES_ADJACENCY
#ifndef GL_TRIANGLE_STRIP_ADJACENCY
#define GL_TRIANGLE_STRIP_ADJACENCY 0x000D
#endif //GL_TRIANGLE_STRIP_ADJACENCY
#ifndef GL_PATCHES
#define GL_PATCHES 0x000E
#endif //GL_PATCHES
#ifndef GL_MAP_FLUSH_EXPLICIT_BIT
#define GL_MAP_FLUSH_EXPLICIT_BIT 0x0010
#endif //GL_MAP_FLUSH_EXPLICIT_BIT
#ifndef GL_MAP_UNSYNCHRONIZED_BIT
#define GL_MAP_UNSYNCHRONIZED_BIT 0x0020
#endif //GL_MAP_UNSYNCHRONIZED_BIT
#ifndef GL_NEVER
#define GL_NEVER 0x0200
#endif //GL_NEVER
#ifndef GL_LESS
#define GL_LESS 0x0201
#endif //GL_LESS
#ifndef GL_EQUAL
#define GL_EQUAL 0x0202
#endif //GL_EQUAL
#ifndef GL_LEQUAL
#define GL_LEQUAL 0x0203
#endif //GL_LEQUAL
#ifndef GL_GREATER
#define GL_GREATER 0x0204
#endif //GL_GREATER
#ifndef GL_NOTEQUAL
#define GL_NOTEQUAL 0x0205
#endif //GL_NOTEQUAL
#ifndef GL_GEQUAL
#define GL_GEQUAL 0x0206
#endif //GL_GEQUAL
#ifndef GL_ALWAYS
#define GL_ALWAYS 0x0207
#endif //GL_ALWAYS
#ifndef GL_SRC_COLOR
#define GL_SRC_COLOR 0x0300
#endif //GL_SRC_COLOR
#ifndef GL_ONE_MINUS_SRC_COLOR
#define GL_ONE_MINUS_SRC_COLOR 0x0301
#endif //GL_ONE_MINUS_SRC_COLOR
#ifndef GL_SRC_ALPHA
#define GL_SRC_ALPHA 0x0302
#endif //GL_SRC_ALPHA
#ifndef GL_ONE_MINUS_SRC_ALPHA
#define GL_ONE_MINUS_SRC_ALPHA 0x0303
#endif //GL_ONE_MINUS_SRC_ALPHA
#ifndef GL_DST_ALPHA
#define GL_DST_ALPHA 0x0304
#endif //GL_DST_ALPHA
#ifndef GL_ONE_MINUS_DST_ALPHA
#define GL_ONE_MINUS_DST_ALPHA 0x0305
#endif //GL_ONE_MINUS_DST_ALPHA
#ifndef GL_DST_COLOR
#define GL_DST_COLOR 0x0306
#endif //GL_DST_COLOR
#ifndef GL_ONE_MINUS_DST_COLOR
#define GL_ONE_MINUS_DST_COLOR 0x0307
#endif //GL_ONE_MINUS_DST_COLOR
#ifndef GL_SRC_ALPHA_SATURATE
#define GL_SRC_ALPHA_SATURATE 0x0308
#endif //GL_SRC_ALPHA_SATURATE
#ifndef GL_FRONT_LEFT
#define GL_FRONT_LEFT 0x0400
#endif //GL_FRONT_LEFT
#ifndef GL_FRONT_RIGHT
#define GL_FRONT_RIGHT 0x0401
#endif //GL_FRONT_RIGHT
#ifndef GL_BACK_LEFT
#define GL_BACK_LEFT 0x0402
#endif //GL_BACK_LEFT
#ifndef GL_BACK_RIGHT
#define GL_BACK_RIGHT 0x0403
#endif //GL_BACK_RIGHT
#ifndef GL_FRONT
#define GL_FRONT 0x0404
#endif //GL_FRONT
#ifndef GL_BACK
#define GL_BACK 0x0405
#endif //GL_BACK
#ifndef GL_LEFT
#define GL_LEFT 0x0406
#endif //GL_LEFT
#ifndef GL_RIGHT
#define GL_RIGHT 0x0407
#endif //GL_RIGHT
#ifndef GL_FRONT_AND_BACK
#define GL_FRONT_AND_BACK 0x0408
#endif //GL_FRONT_AND_BACK
#ifndef GL_INVALID_ENUM
#define GL_INVALID_ENUM 0x0500
#endif //GL_INVALID_ENUM
#ifndef GL_INVALID_VALUE
#define GL_INVALID_VALUE 0x0501
#endif //GL_INVALID_VALUE
#ifndef GL_INVALID_OPERATION
#define GL_INVALID_OPERATION 0x0502
#endif //GL_INVALID_OPERATION
#ifndef GL_OUT_OF_MEMORY
#define GL_OUT_OF_MEMORY 0x0505
#endif //GL_OUT_OF_MEMORY
#ifndef GL_INVALID_FRAMEBUFFER_OPERATION
#define GL_INVALID_FRAMEBUFFER_OPERATION 0x0506
#endif //GL_INVALID_FRAMEBUFFER_OPERATION
#ifndef GL_CW
#define GL_CW 0x0900
#endif //GL_CW
#ifndef GL_CCW
#define GL_CCW 0x0901
#endif //GL_CCW
#ifndef GL_POINT_SIZE
#define GL_POINT_SIZE 0x0B11
#endif //GL_POINT_SIZE
#ifndef GL_SMOOTH_POINT_SIZE_RANGE
#define GL_SMOOTH_POINT_SIZE_RANGE 0x0B12
#endif //GL_SMOOTH_POINT_SIZE_RANGE
#ifndef GL_POINT_SIZE_RANGE
#define GL_POINT_SIZE_RANGE 0x0B12
#endif //GL_POINT_SIZE_RANGE
#ifndef GL_POINT_SIZE_GRANULARITY
#define GL_POINT_SIZE_GRANULARITY 0x0B13
#endif //GL_POINT_SIZE_GRANULARITY
#ifndef GL_SMOOTH_POINT_SIZE_GRANULARITY
#define GL_SMOOTH_POINT_SIZE_GRANULARITY 0x0B13
#endif //GL_SMOOTH_POINT_SIZE_GRANULARITY
#ifndef GL_LINE_SMOOTH
#define GL_LINE_SMOOTH 0x0B20
#endif //GL_LINE_SMOOTH
#ifndef GL_LINE_WIDTH
#define GL_LINE_WIDTH 0x0B21
#endif //GL_LINE_WIDTH
#ifndef GL_SMOOTH_LINE_WIDTH_RANGE
#define GL_SMOOTH_LINE_WIDTH_RANGE 0x0B22
#endif //GL_SMOOTH_LINE_WIDTH_RANGE
#ifndef GL_LINE_WIDTH_RANGE
#define GL_LINE_WIDTH_RANGE 0x0B22
#endif //GL_LINE_WIDTH_RANGE
#ifndef GL_SMOOTH_LINE_WIDTH_GRANULARITY
#define GL_SMOOTH_LINE_WIDTH_GRANULARITY 0x0B23
#endif //GL_SMOOTH_LINE_WIDTH_GRANULARITY
#ifndef GL_LINE_WIDTH_GRANULARITY
#define GL_LINE_WIDTH_GRANULARITY 0x0B23
#endif //GL_LINE_WIDTH_GRANULARITY
#ifndef GL_POLYGON_MODE
#define GL_POLYGON_MODE 0x0B40
#endif //GL_POLYGON_MODE
#ifndef GL_POLYGON_SMOOTH
#define GL_POLYGON_SMOOTH 0x0B41
#endif //GL_POLYGON_SMOOTH
#ifndef GL_CULL_FACE
#define GL_CULL_FACE 0x0B44
#endif //GL_CULL_FACE
#ifndef GL_CULL_FACE_MODE
#define GL_CULL_FACE_MODE 0x0B45
#endif //GL_CULL_FACE_MODE
#ifndef GL_FRONT_FACE
#define GL_FRONT_FACE 0x0B46
#endif //GL_FRONT_FACE
#ifndef GL_DEPTH_RANGE
#define GL_DEPTH_RANGE 0x0B70
#endif //GL_DEPTH_RANGE
#ifndef GL_DEPTH_TEST
#define GL_DEPTH_TEST 0x0B71
#endif //GL_DEPTH_TEST
#ifndef GL_DEPTH_WRITEMASK
#define GL_DEPTH_WRITEMASK 0x0B72
#endif //GL_DEPTH_WRITEMASK
#ifndef GL_DEPTH_CLEAR_VALUE
#define GL_DEPTH_CLEAR_VALUE 0x0B73
#endif //GL_DEPTH_CLEAR_VALUE
#ifndef GL_DEPTH_FUNC
#define GL_DEPTH_FUNC 0x0B74
#endif //GL_DEPTH_FUNC
#ifndef GL_STENCIL_TEST
#define GL_STENCIL_TEST 0x0B90
#endif //GL_STENCIL_TEST
#ifndef GL_STENCIL_CLEAR_VALUE
#define GL_STENCIL_CLEAR_VALUE 0x0B91
#endif //GL_STENCIL_CLEAR_VALUE
#ifndef GL_STENCIL_FUNC
#define GL_STENCIL_FUNC 0x0B92
#endif //GL_STENCIL_FUNC
#ifndef GL_STENCIL_VALUE_MASK
#define GL_STENCIL_VALUE_MASK 0x0B93
#endif //GL_STENCIL_VALUE_MASK
#ifndef GL_STENCIL_FAIL
#define GL_STENCIL_FAIL 0x0B94
#endif //GL_STENCIL_FAIL
#ifndef GL_STENCIL_PASS_DEPTH_FAIL
#define GL_STENCIL_PASS_DEPTH_FAIL 0x0B95
#endif //GL_STENCIL_PASS_DEPTH_FAIL
#ifndef GL_STENCIL_PASS_DEPTH_PASS
#define GL_STENCIL_PASS_DEPTH_PASS 0x0B96
#endif //GL_STENCIL_PASS_DEPTH_PASS
#ifndef GL_STENCIL_REF
#define GL_STENCIL_REF 0x0B97
#endif //GL_STENCIL_REF
#ifndef GL_STENCIL_WRITEMASK
#define GL_STENCIL_WRITEMASK 0x0B98
#endif //GL_STENCIL_WRITEMASK
#ifndef GL_VIEWPORT
#define GL_VIEWPORT 0x0BA2
#endif //GL_VIEWPORT
#ifndef GL_DITHER
#define GL_DITHER 0x0BD0
#endif //GL_DITHER
#ifndef GL_BLEND_DST
#define GL_BLEND_DST 0x0BE0
#endif //GL_BLEND_DST
#ifndef GL_BLEND_SRC
#define GL_BLEND_SRC 0x0BE1
#endif //GL_BLEND_SRC
#ifndef GL_BLEND
#define GL_BLEND 0x0BE2
#endif //GL_BLEND
#ifndef GL_LOGIC_OP_MODE
#define GL_LOGIC_OP_MODE 0x0BF0
#endif //GL_LOGIC_OP_MODE
#ifndef GL_COLOR_LOGIC_OP
#define GL_COLOR_LOGIC_OP 0x0BF2
#endif //GL_COLOR_LOGIC_OP
#ifndef GL_DRAW_BUFFER
#define GL_DRAW_BUFFER 0x0C01
#endif //GL_DRAW_BUFFER
#ifndef GL_READ_BUFFER
#define GL_READ_BUFFER 0x0C02
#endif //GL_READ_BUFFER
#ifndef GL_SCISSOR_BOX
#define GL_SCISSOR_BOX 0x0C10
#endif //GL_SCISSOR_BOX
#ifndef GL_SCISSOR_TEST
#define GL_SCISSOR_TEST 0x0C11
#endif //GL_SCISSOR_TEST
#ifndef GL_COLOR_CLEAR_VALUE
#define GL_COLOR_CLEAR_VALUE 0x0C22
#endif //GL_COLOR_CLEAR_VALUE
#ifndef GL_COLOR_WRITEMASK
#define GL_COLOR_WRITEMASK 0x0C23
#endif //GL_COLOR_WRITEMASK
#ifndef GL_DOUBLEBUFFER
#define GL_DOUBLEBUFFER 0x0C32
#endif //GL_DOUBLEBUFFER
#ifndef GL_STEREO
#define GL_STEREO 0x0C33
#endif //GL_STEREO
#ifndef GL_LINE_SMOOTH_HINT
#define GL_LINE_SMOOTH_HINT 0x0C52
#endif //GL_LINE_SMOOTH_HINT
#ifndef GL_POLYGON_SMOOTH_HINT
#define GL_POLYGON_SMOOTH_HINT 0x0C53
#endif //GL_POLYGON_SMOOTH_HINT
#ifndef GL_UNPACK_SWAP_BYTES
#define GL_UNPACK_SWAP_BYTES 0x0CF0
#endif //GL_UNPACK_SWAP_BYTES
#ifndef GL_UNPACK_LSB_FIRST
#define GL_UNPACK_LSB_FIRST 0x0CF1
#endif //GL_UNPACK_LSB_FIRST
#ifndef GL_UNPACK_ROW_LENGTH
#define GL_UNPACK_ROW_LENGTH 0x0CF2
#endif //GL_UNPACK_ROW_LENGTH
#ifndef GL_UNPACK_SKIP_ROWS
#define GL_UNPACK_SKIP_ROWS 0x0CF3
#endif //GL_UNPACK_SKIP_ROWS
#ifndef GL_UNPACK_SKIP_PIXELS
#define GL_UNPACK_SKIP_PIXELS 0x0CF4
#endif //GL_UNPACK_SKIP_PIXELS
#ifndef GL_UNPACK_ALIGNMENT
#define GL_UNPACK_ALIGNMENT 0x0CF5
#endif //GL_UNPACK_ALIGNMENT
#ifndef GL_PACK_SWAP_BYTES
#define GL_PACK_SWAP_BYTES 0x0D00
#endif //GL_PACK_SWAP_BYTES
#ifndef GL_PACK_LSB_FIRST
#define GL_PACK_LSB_FIRST 0x0D01
#endif //GL_PACK_LSB_FIRST
#ifndef GL_PACK_ROW_LENGTH
#define GL_PACK_ROW_LENGTH 0x0D02
#endif //GL_PACK_ROW_LENGTH
#ifndef GL_PACK_SKIP_ROWS
#define GL_PACK_SKIP_ROWS 0x0D03
#endif //GL_PACK_SKIP_ROWS
#ifndef GL_PACK_SKIP_PIXELS
#define GL_PACK_SKIP_PIXELS 0x0D04
#endif //GL_PACK_SKIP_PIXELS
#ifndef GL_PACK_ALIGNMENT
#define GL_PACK_ALIGNMENT 0x0D05
#endif //GL_PACK_ALIGNMENT
#ifndef GL_MAX_CLIP_DISTANCES
#define GL_MAX_CLIP_DISTANCES 0x0D32
#endif //GL_MAX_CLIP_DISTANCES
#ifndef GL_MAX_TEXTURE_SIZE
#define GL_MAX_TEXTURE_SIZE 0x0D33
#endif //GL_MAX_TEXTURE_SIZE
#ifndef GL_MAX_VIEWPORT_DIMS
#define GL_MAX_VIEWPORT_DIMS 0x0D3A
#endif //GL_MAX_VIEWPORT_DIMS
#ifndef GL_SUBPIXEL_BITS
#define GL_SUBPIXEL_BITS 0x0D50
#endif //GL_SUBPIXEL_BITS
#ifndef GL_TEXTURE_1D
#define GL_TEXTURE_1D 0x0DE0
#endif //GL_TEXTURE_1D
#ifndef GL_TEXTURE_2D
#define GL_TEXTURE_2D 0x0DE1
#endif //GL_TEXTURE_2D
#ifndef GL_TEXTURE_WIDTH
#define GL_TEXTURE_WIDTH 0x1000
#endif //GL_TEXTURE_WIDTH
#ifndef GL_TEXTURE_HEIGHT
#define GL_TEXTURE_HEIGHT 0x1001
#endif //GL_TEXTURE_HEIGHT
#ifndef GL_TEXTURE_INTERNAL_FORMAT
#define GL_TEXTURE_INTERNAL_FORMAT 0x1003
#endif //GL_TEXTURE_INTERNAL_FORMAT
#ifndef GL_TEXTURE_BORDER_COLOR
#define GL_TEXTURE_BORDER_COLOR 0x1004
#endif //GL_TEXTURE_BORDER_COLOR
#ifndef GL_DONT_CARE
#define GL_DONT_CARE 0x1100
#endif //GL_DONT_CARE
#ifndef GL_FASTEST
#define GL_FASTEST 0x1101
#endif //GL_FASTEST
#ifndef GL_NICEST
#define GL_NICEST 0x1102
#endif //GL_NICEST
#ifndef GL_BYTE
#define GL_BYTE 0x1400
#endif //GL_BYTE
#ifndef GL_UNSIGNED_BYTE
#define GL_UNSIGNED_BYTE 0x1401
#endif //GL_UNSIGNED_BYTE
#ifndef GL_SHORT
#define GL_SHORT 0x1402
#endif //GL_SHORT
#ifndef GL_UNSIGNED_SHORT
#define GL_UNSIGNED_SHORT 0x1403
#endif //GL_UNSIGNED_SHORT
#ifndef GL_INT
#define GL_INT 0x1404
#endif //GL_INT
#ifndef GL_UNSIGNED_INT
#define GL_UNSIGNED_INT 0x1405
#endif //GL_UNSIGNED_INT
#ifndef GL_FLOAT
#define GL_FLOAT 0x1406
#endif //GL_FLOAT
#ifndef GL_DOUBLE
#define GL_DOUBLE 0x140A
#endif //GL_DOUBLE
#ifndef GL_HALF_FLOAT
#define GL_HALF_FLOAT 0x140B
#endif //GL_HALF_FLOAT
#ifndef GL_FIXED
#define GL_FIXED 0x140C
#endif //GL_FIXED
#ifndef GL_CLEAR
#define GL_CLEAR 0x1500
#endif //GL_CLEAR
#ifndef GL_AND
#define GL_AND 0x1501
#endif //GL_AND
#ifndef GL_AND_REVERSE
#define GL_AND_REVERSE 0x1502
#endif //GL_AND_REVERSE
#ifndef GL_COPY
#define GL_COPY 0x1503
#endif //GL_COPY
#ifndef GL_AND_INVERTED
#define GL_AND_INVERTED 0x1504
#endif //GL_AND_INVERTED
#ifndef GL_NOOP
#define GL_NOOP 0x1505
#endif //GL_NOOP
#ifndef GL_XOR
#define GL_XOR 0x1506
#endif //GL_XOR
#ifndef GL_OR
#define GL_OR 0x1507
#endif //GL_OR
#ifndef GL_NOR
#define GL_NOR 0x1508
#endif //GL_NOR
#ifndef GL_EQUIV
#define GL_EQUIV 0x1509
#endif //GL_EQUIV
#ifndef GL_INVERT
#define GL_INVERT 0x150A
#endif //GL_INVERT
#ifndef GL_OR_REVERSE
#define GL_OR_REVERSE 0x150B
#endif //GL_OR_REVERSE
#ifndef GL_COPY_INVERTED
#define GL_COPY_INVERTED 0x150C
#endif //GL_COPY_INVERTED
#ifndef GL_OR_INVERTED
#define GL_OR_INVERTED 0x150D
#endif //GL_OR_INVERTED
#ifndef GL_NAND
#define GL_NAND 0x150E
#endif //GL_NAND
#ifndef GL_SET
#define GL_SET 0x150F
#endif //GL_SET
#ifndef GL_TEXTURE
#define GL_TEXTURE 0x1702
#endif //GL_TEXTURE
#ifndef GL_COLOR
#define GL_COLOR 0x1800
#endif //GL_COLOR
#ifndef GL_DEPTH
#define GL_DEPTH 0x1801
#endif //GL_DEPTH
#ifndef GL_STENCIL
#define GL_STENCIL 0x1802
#endif //GL_STENCIL
#ifndef GL_STENCIL_INDEX
#define GL_STENCIL_INDEX 0x1901
#endif //GL_STENCIL_INDEX
#ifndef GL_DEPTH_COMPONENT
#define GL_DEPTH_COMPONENT 0x1902
#endif //GL_DEPTH_COMPONENT
#ifndef GL_RED
#define GL_RED 0x1903
#endif //GL_RED
#ifndef GL_GREEN
#define GL_GREEN 0x1904
#endif //GL_GREEN
#ifndef GL_BLUE
#define GL_BLUE 0x1905
#endif //GL_BLUE
#ifndef GL_ALPHA
#define GL_ALPHA 0x1906
#endif //GL_ALPHA
#ifndef GL_RGB
#define GL_RGB 0x1907
#endif //GL_RGB
#ifndef GL_RGBA
#define GL_RGBA 0x1908
#endif //GL_RGBA
#ifndef GL_POINT
#define GL_POINT 0x1B00
#endif //GL_POINT
#ifndef GL_LINE
#define GL_LINE 0x1B01
#endif //GL_LINE
#ifndef GL_FILL
#define GL_FILL 0x1B02
#endif //GL_FILL
#ifndef GL_KEEP
#define GL_KEEP 0x1E00
#endif //GL_KEEP
#ifndef GL_REPLACE
#define GL_REPLACE 0x1E01
#endif //GL_REPLACE
#ifndef GL_INCR
#define GL_INCR 0x1E02
#endif //GL_INCR
#ifndef GL_DECR
#define GL_DECR 0x1E03
#endif //GL_DECR
#ifndef GL_VENDOR
#define GL_VENDOR 0x1F00
#endif //GL_VENDOR
#ifndef GL_RENDERER
#define GL_RENDERER 0x1F01
#endif //GL_RENDERER
#ifndef GL_VERSION
#define GL_VERSION 0x1F02
#endif //GL_VERSION
#ifndef GL_EXTENSIONS
#define GL_EXTENSIONS 0x1F03
#endif //GL_EXTENSIONS
#ifndef GL_NEAREST
#define GL_NEAREST 0x2600
#endif //GL_NEAREST
#ifndef GL_LINEAR
#define GL_LINEAR 0x2601
#endif //GL_LINEAR
#ifndef GL_NEAREST_MIPMAP_NEAREST
#define GL_NEAREST_MIPMAP_NEAREST 0x2700
#endif //GL_NEAREST_MIPMAP_NEAREST
#ifndef GL_LINEAR_MIPMAP_NEAREST
#define GL_LINEAR_MIPMAP_NEAREST 0x2701
#endif //GL_LINEAR_MIPMAP_NEAREST
#ifndef GL_NEAREST_MIPMAP_LINEAR
#define GL_NEAREST_MIPMAP_LINEAR 0x2702
#endif //GL_NEAREST_MIPMAP_LINEAR
#ifndef GL_LINEAR_MIPMAP_LINEAR
#define GL_LINEAR_MIPMAP_LINEAR 0x2703
#endif //GL_LINEAR_MIPMAP_LINEAR
#ifndef GL_TEXTURE_MAG_FILTER
#define GL_TEXTURE_MAG_FILTER 0x2800
#endif //GL_TEXTURE_MAG_FILTER
#ifndef GL_TEXTURE_MIN_FILTER
#define GL_TEXTURE_MIN_FILTER 0x2801
#endif //GL_TEXTURE_MIN_FILTER
#ifndef GL_TEXTURE_WRAP_S
#define GL_TEXTURE_WRAP_S 0x2802
#endif //GL_TEXTURE_WRAP_S
#ifndef GL_TEXTURE_WRAP_T
#define GL_TEXTURE_WRAP_T 0x2803
#endif //GL_TEXTURE_WRAP_T
#ifndef GL_REPEAT
#define GL_REPEAT 0x2901
#endif //GL_REPEAT
#ifndef GL_POLYGON_OFFSET_UNITS
#define GL_POLYGON_OFFSET_UNITS 0x2A00
#endif //GL_POLYGON_OFFSET_UNITS
#ifndef GL_POLYGON_OFFSET_POINT
#define GL_POLYGON_OFFSET_POINT 0x2A01
#endif //GL_POLYGON_OFFSET_POINT
#ifndef GL_POLYGON_OFFSET_LINE
#define GL_POLYGON_OFFSET_LINE 0x2A02
#endif //GL_POLYGON_OFFSET_LINE
#ifndef GL_R3_G3_B2
#define GL_R3_G3_B2 0x2A10
#endif //GL_R3_G3_B2
#ifndef GL_CLIP_DISTANCE0
#define GL_CLIP_DISTANCE0 0x3000
#endif //GL_CLIP_DISTANCE0
#ifndef GL_CLIP_DISTANCE1
#define GL_CLIP_DISTANCE1 0x3001
#endif //GL_CLIP_DISTANCE1
#ifndef GL_CLIP_DISTANCE2
#define GL_CLIP_DISTANCE2 0x3002
#endif //GL_CLIP_DISTANCE2
#ifndef GL_CLIP_DISTANCE3
#define GL_CLIP_DISTANCE3 0x3003
#endif //GL_CLIP_DISTANCE3
#ifndef GL_CLIP_DISTANCE4
#define GL_CLIP_DISTANCE4 0x3004
#endif //GL_CLIP_DISTANCE4
#ifndef GL_CLIP_DISTANCE5
#define GL_CLIP_DISTANCE5 0x3005
#endif //GL_CLIP_DISTANCE5
#ifndef GL_CLIP_DISTANCE6
#define GL_CLIP_DISTANCE6 0x3006
#endif //GL_CLIP_DISTANCE6
#ifndef GL_CLIP_DISTANCE7
#define GL_CLIP_DISTANCE7 0x3007
#endif //GL_CLIP_DISTANCE7
#ifndef GL_CONSTANT_COLOR
#define GL_CONSTANT_COLOR 0x8001
#endif //GL_CONSTANT_COLOR
#ifndef GL_ONE_MINUS_CONSTANT_COLOR
#define GL_ONE_MINUS_CONSTANT_COLOR 0x8002
#endif //GL_ONE_MINUS_CONSTANT_COLOR
#ifndef GL_CONSTANT_ALPHA
#define GL_CONSTANT_ALPHA 0x8003
#endif //GL_CONSTANT_ALPHA
#ifndef GL_ONE_MINUS_CONSTANT_ALPHA
#define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004
#endif //GL_ONE_MINUS_CONSTANT_ALPHA
#ifndef GL_FUNC_ADD
#define GL_FUNC_ADD 0x8006
#endif //GL_FUNC_ADD
#ifndef GL_MIN
#define GL_MIN 0x8007
#endif //GL_MIN
#ifndef GL_MAX
#define GL_MAX 0x8008
#endif //GL_MAX
#ifndef GL_BLEND_EQUATION_RGB
#define GL_BLEND_EQUATION_RGB 0x8009
#endif //GL_BLEND_EQUATION_RGB
#ifndef GL_FUNC_SUBTRACT
#define GL_FUNC_SUBTRACT 0x800A
#endif //GL_FUNC_SUBTRACT
#ifndef GL_FUNC_REVERSE_SUBTRACT
#define GL_FUNC_REVERSE_SUBTRACT 0x800B
#endif //GL_FUNC_REVERSE_SUBTRACT
#ifndef GL_UNSIGNED_BYTE_3_3_2
#define GL_UNSIGNED_BYTE_3_3_2 0x8032
#endif //GL_UNSIGNED_BYTE_3_3_2
#ifndef GL_UNSIGNED_SHORT_4_4_4_4
#define GL_UNSIGNED_SHORT_4_4_4_4 0x8033
#endif //GL_UNSIGNED_SHORT_4_4_4_4
#ifndef GL_UNSIGNED_SHORT_5_5_5_1
#define GL_UNSIGNED_SHORT_5_5_5_1 0x8034
#endif //GL_UNSIGNED_SHORT_5_5_5_1
#ifndef GL_UNSIGNED_INT_8_8_8_8
#define GL_UNSIGNED_INT_8_8_8_8 0x8035
#endif //GL_UNSIGNED_INT_8_8_8_8
#ifndef GL_UNSIGNED_INT_10_10_10_2
#define GL_UNSIGNED_INT_10_10_10_2 0x8036
#endif //GL_UNSIGNED_INT_10_10_10_2
#ifndef GL_POLYGON_OFFSET_FILL
#define GL_POLYGON_OFFSET_FILL 0x8037
#endif //GL_POLYGON_OFFSET_FILL
#ifndef GL_POLYGON_OFFSET_FACTOR
#define GL_POLYGON_OFFSET_FACTOR 0x8038
#endif //GL_POLYGON_OFFSET_FACTOR
#ifndef GL_RGB4
#define GL_RGB4 0x804F
#endif //GL_RGB4
#ifndef GL_RGB5
#define GL_RGB5 0x8050
#endif //GL_RGB5
#ifndef GL_RGB8
#define GL_RGB8 0x8051
#endif //GL_RGB8
#ifndef GL_RGB10
#define GL_RGB10 0x8052
#endif //GL_RGB10
#ifndef GL_RGB12
#define GL_RGB12 0x8053
#endif //GL_RGB12
#ifndef GL_RGB16
#define GL_RGB16 0x8054
#endif //GL_RGB16
#ifndef GL_RGBA2
#define GL_RGBA2 0x8055
#endif //GL_RGBA2
#ifndef GL_RGBA4
#define GL_RGBA4 0x8056
#endif //GL_RGBA4
#ifndef GL_RGB5_A1
#define GL_RGB5_A1 0x8057
#endif //GL_RGB5_A1
#ifndef GL_RGBA8
#define GL_RGBA8 0x8058
#endif //GL_RGBA8
#ifndef GL_RGB10_A2
#define GL_RGB10_A2 0x8059
#endif //GL_RGB10_A2
#ifndef GL_RGBA12
#define GL_RGBA12 0x805A
#endif //GL_RGBA12
#ifndef GL_RGBA16
#define GL_RGBA16 0x805B
#endif //GL_RGBA16
#ifndef GL_TEXTURE_RED_SIZE
#define GL_TEXTURE_RED_SIZE 0x805C
#endif //GL_TEXTURE_RED_SIZE
#ifndef GL_TEXTURE_GREEN_SIZE
#define GL_TEXTURE_GREEN_SIZE 0x805D
#endif //GL_TEXTURE_GREEN_SIZE
#ifndef GL_TEXTURE_BLUE_SIZE
#define GL_TEXTURE_BLUE_SIZE 0x805E
#endif //GL_TEXTURE_BLUE_SIZE
#ifndef GL_TEXTURE_ALPHA_SIZE
#define GL_TEXTURE_ALPHA_SIZE 0x805F
#endif //GL_TEXTURE_ALPHA_SIZE
#ifndef GL_PROXY_TEXTURE_1D
#define GL_PROXY_TEXTURE_1D 0x8063
#endif //GL_PROXY_TEXTURE_1D
#ifndef GL_PROXY_TEXTURE_2D
#define GL_PROXY_TEXTURE_2D 0x8064
#endif //GL_PROXY_TEXTURE_2D
#ifndef GL_TEXTURE_BINDING_1D
#define GL_TEXTURE_BINDING_1D 0x8068
#endif //GL_TEXTURE_BINDING_1D
#ifndef GL_TEXTURE_BINDING_2D
#define GL_TEXTURE_BINDING_2D 0x8069
#endif //GL_TEXTURE_BINDING_2D
#ifndef GL_TEXTURE_BINDING_3D
#define GL_TEXTURE_BINDING_3D 0x806A
#endif //GL_TEXTURE_BINDING_3D
#ifndef GL_PACK_SKIP_IMAGES
#define GL_PACK_SKIP_IMAGES 0x806B
#endif //GL_PACK_SKIP_IMAGES
#ifndef GL_PACK_IMAGE_HEIGHT
#define GL_PACK_IMAGE_HEIGHT 0x806C
#endif //GL_PACK_IMAGE_HEIGHT
#ifndef GL_UNPACK_SKIP_IMAGES
#define GL_UNPACK_SKIP_IMAGES 0x806D
#endif //GL_UNPACK_SKIP_IMAGES
#ifndef GL_UNPACK_IMAGE_HEIGHT
#define GL_UNPACK_IMAGE_HEIGHT 0x806E
#endif //GL_UNPACK_IMAGE_HEIGHT
#ifndef GL_TEXTURE_3D
#define GL_TEXTURE_3D 0x806F
#endif //GL_TEXTURE_3D
#ifndef GL_PROXY_TEXTURE_3D
#define GL_PROXY_TEXTURE_3D 0x8070
#endif //GL_PROXY_TEXTURE_3D
#ifndef GL_TEXTURE_DEPTH
#define GL_TEXTURE_DEPTH 0x8071
#endif //GL_TEXTURE_DEPTH
#ifndef GL_TEXTURE_WRAP_R
#define GL_TEXTURE_WRAP_R 0x8072
#endif //GL_TEXTURE_WRAP_R
#ifndef GL_MAX_3D_TEXTURE_SIZE
#define GL_MAX_3D_TEXTURE_SIZE 0x8073
#endif //GL_MAX_3D_TEXTURE_SIZE
#ifndef GL_MULTISAMPLE
#define GL_MULTISAMPLE 0x809D
#endif //GL_MULTISAMPLE
#ifndef GL_SAMPLE_ALPHA_TO_COVERAGE
#define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E
#endif //GL_SAMPLE_ALPHA_TO_COVERAGE
#ifndef GL_SAMPLE_ALPHA_TO_ONE
#define GL_SAMPLE_ALPHA_TO_ONE 0x809F
#endif //GL_SAMPLE_ALPHA_TO_ONE
#ifndef GL_SAMPLE_COVERAGE
#define GL_SAMPLE_COVERAGE 0x80A0
#endif //GL_SAMPLE_COVERAGE
#ifndef GL_SAMPLE_BUFFERS
#define GL_SAMPLE_BUFFERS 0x80A8
#endif //GL_SAMPLE_BUFFERS
#ifndef GL_SAMPLES
#define GL_SAMPLES 0x80A9
#endif //GL_SAMPLES
#ifndef GL_SAMPLE_COVERAGE_VALUE
#define GL_SAMPLE_COVERAGE_VALUE 0x80AA
#endif //GL_SAMPLE_COVERAGE_VALUE
#ifndef GL_SAMPLE_COVERAGE_INVERT
#define GL_SAMPLE_COVERAGE_INVERT 0x80AB
#endif //GL_SAMPLE_COVERAGE_INVERT
#ifndef GL_BLEND_DST_RGB
#define GL_BLEND_DST_RGB 0x80C8
#endif //GL_BLEND_DST_RGB
#ifndef GL_BLEND_SRC_RGB
#define GL_BLEND_SRC_RGB 0x80C9
#endif //GL_BLEND_SRC_RGB
#ifndef GL_BLEND_DST_ALPHA
#define GL_BLEND_DST_ALPHA 0x80CA
#endif //GL_BLEND_DST_ALPHA
#ifndef GL_BLEND_SRC_ALPHA
#define GL_BLEND_SRC_ALPHA 0x80CB
#endif //GL_BLEND_SRC_ALPHA
#ifndef GL_BGR
#define GL_BGR 0x80E0
#endif //GL_BGR
#ifndef GL_BGRA
#define GL_BGRA 0x80E1
#endif //GL_BGRA
#ifndef GL_MAX_ELEMENTS_VERTICES
#define GL_MAX_ELEMENTS_VERTICES 0x80E8
#endif //GL_MAX_ELEMENTS_VERTICES
#ifndef GL_MAX_ELEMENTS_INDICES
#define GL_MAX_ELEMENTS_INDICES 0x80E9
#endif //GL_MAX_ELEMENTS_INDICES
#ifndef GL_POINT_FADE_THRESHOLD_SIZE
#define GL_POINT_FADE_THRESHOLD_SIZE 0x8128
#endif //GL_POINT_FADE_THRESHOLD_SIZE
#ifndef GL_CLAMP_TO_BORDER
#define GL_CLAMP_TO_BORDER 0x812D
#endif //GL_CLAMP_TO_BORDER
#ifndef GL_CLAMP_TO_EDGE
#define GL_CLAMP_TO_EDGE 0x812F
#endif //GL_CLAMP_TO_EDGE
#ifndef GL_TEXTURE_MIN_LOD
#define GL_TEXTURE_MIN_LOD 0x813A
#endif //GL_TEXTURE_MIN_LOD
#ifndef GL_TEXTURE_MAX_LOD
#define GL_TEXTURE_MAX_LOD 0x813B
#endif //GL_TEXTURE_MAX_LOD
#ifndef GL_TEXTURE_BASE_LEVEL
#define GL_TEXTURE_BASE_LEVEL 0x813C
#endif //GL_TEXTURE_BASE_LEVEL
#ifndef GL_TEXTURE_MAX_LEVEL
#define GL_TEXTURE_MAX_LEVEL 0x813D
#endif //GL_TEXTURE_MAX_LEVEL
#ifndef GL_DEPTH_COMPONENT16
#define GL_DEPTH_COMPONENT16 0x81A5
#endif //GL_DEPTH_COMPONENT16
#ifndef GL_DEPTH_COMPONENT24
#define GL_DEPTH_COMPONENT24 0x81A6
#endif //GL_DEPTH_COMPONENT24
#ifndef GL_DEPTH_COMPONENT32
#define GL_DEPTH_COMPONENT32 0x81A7
#endif //GL_DEPTH_COMPONENT32
#ifndef GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING
#define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING 0x8210
#endif //GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING
#ifndef GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE
#define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE 0x8211
#endif //GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE
#ifndef GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE
#define GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE 0x8212
#endif //GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE
#ifndef GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE
#define GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE 0x8213
#endif //GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE
#ifndef GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE
#define GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE 0x8214
#endif //GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE
#ifndef GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE
#define GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE 0x8215
#endif //GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE
#ifndef GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE
#define GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE 0x8216
#endif //GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE
#ifndef GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE
#define GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE 0x8217
#endif //GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE
#ifndef GL_FRAMEBUFFER_DEFAULT
#define GL_FRAMEBUFFER_DEFAULT 0x8218
#endif //GL_FRAMEBUFFER_DEFAULT
#ifndef GL_FRAMEBUFFER_UNDEFINED
#define GL_FRAMEBUFFER_UNDEFINED 0x8219
#endif //GL_FRAMEBUFFER_UNDEFINED
#ifndef GL_DEPTH_STENCIL_ATTACHMENT
#define GL_DEPTH_STENCIL_ATTACHMENT 0x821A
#endif //GL_DEPTH_STENCIL_ATTACHMENT
#ifndef GL_MAJOR_VERSION
#define GL_MAJOR_VERSION 0x821B
#endif //GL_MAJOR_VERSION
#ifndef GL_MINOR_VERSION
#define GL_MINOR_VERSION 0x821C
#endif //GL_MINOR_VERSION
#ifndef GL_NUM_EXTENSIONS
#define GL_NUM_EXTENSIONS 0x821D
#endif //GL_NUM_EXTENSIONS
#ifndef GL_CONTEXT_FLAGS
#define GL_CONTEXT_FLAGS 0x821E
#endif //GL_CONTEXT_FLAGS
#ifndef GL_COMPRESSED_RED
#define GL_COMPRESSED_RED 0x8225
#endif //GL_COMPRESSED_RED
#ifndef GL_COMPRESSED_RG
#define GL_COMPRESSED_RG 0x8226
#endif //GL_COMPRESSED_RG
#ifndef GL_RG
#define GL_RG 0x8227
#endif //GL_RG
#ifndef GL_RG_INTEGER
#define GL_RG_INTEGER 0x8228
#endif //GL_RG_INTEGER
#ifndef GL_R8
#define GL_R8 0x8229
#endif //GL_R8
#ifndef GL_R16
#define GL_R16 0x822A
#endif //GL_R16
#ifndef GL_RG8
#define GL_RG8 0x822B
#endif //GL_RG8
#ifndef GL_RG16
#define GL_RG16 0x822C
#endif //GL_RG16
#ifndef GL_R16F
#define GL_R16F 0x822D
#endif //GL_R16F
#ifndef GL_R32F
#define GL_R32F 0x822E
#endif //GL_R32F
#ifndef GL_RG16F
#define GL_RG16F 0x822F
#endif //GL_RG16F
#ifndef GL_RG32F
#define GL_RG32F 0x8230
#endif //GL_RG32F
#ifndef GL_R8I
#define GL_R8I 0x8231
#endif //GL_R8I
#ifndef GL_R8UI
#define GL_R8UI 0x8232
#endif //GL_R8UI
#ifndef GL_R16I
#define GL_R16I 0x8233
#endif //GL_R16I
#ifndef GL_R16UI
#define GL_R16UI 0x8234
#endif //GL_R16UI
#ifndef GL_R32I
#define GL_R32I 0x8235
#endif //GL_R32I
#ifndef GL_R32UI
#define GL_R32UI 0x8236
#endif //GL_R32UI
#ifndef GL_RG8I
#define GL_RG8I 0x8237
#endif //GL_RG8I
#ifndef GL_RG8UI
#define GL_RG8UI 0x8238
#endif //GL_RG8UI
#ifndef GL_RG16I
#define GL_RG16I 0x8239
#endif //GL_RG16I
#ifndef GL_RG16UI
#define GL_RG16UI 0x823A
#endif //GL_RG16UI
#ifndef GL_RG32I
#define GL_RG32I 0x823B
#endif //GL_RG32I
#ifndef GL_RG32UI
#define GL_RG32UI 0x823C
#endif //GL_RG32UI
#ifndef GL_DEBUG_OUTPUT_SYNCHRONOUS
#define GL_DEBUG_OUTPUT_SYNCHRONOUS 0x8242
#endif //GL_DEBUG_OUTPUT_SYNCHRONOUS
#ifndef GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH
#define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH 0x8243
#endif //GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH
#ifndef GL_DEBUG_CALLBACK_FUNCTION
#define GL_DEBUG_CALLBACK_FUNCTION 0x8244
#endif //GL_DEBUG_CALLBACK_FUNCTION
#ifndef GL_DEBUG_CALLBACK_USER_PARAM
#define GL_DEBUG_CALLBACK_USER_PARAM 0x8245
#endif //GL_DEBUG_CALLBACK_USER_PARAM
#ifndef GL_DEBUG_SOURCE_API
#define GL_DEBUG_SOURCE_API 0x8246
#endif //GL_DEBUG_SOURCE_API
#ifndef GL_DEBUG_SOURCE_WINDOW_SYSTEM
#define GL_DEBUG_SOURCE_WINDOW_SYSTEM 0x8247
#endif //GL_DEBUG_SOURCE_WINDOW_SYSTEM
#ifndef GL_DEBUG_SOURCE_SHADER_COMPILER
#define GL_DEBUG_SOURCE_SHADER_COMPILER 0x8248
#endif //GL_DEBUG_SOURCE_SHADER_COMPILER
#ifndef GL_DEBUG_SOURCE_THIRD_PARTY
#define GL_DEBUG_SOURCE_THIRD_PARTY 0x8249
#endif //GL_DEBUG_SOURCE_THIRD_PARTY
#ifndef GL_DEBUG_SOURCE_APPLICATION
#define GL_DEBUG_SOURCE_APPLICATION 0x824A
#endif //GL_DEBUG_SOURCE_APPLICATION
#ifndef GL_DEBUG_SOURCE_OTHER
#define GL_DEBUG_SOURCE_OTHER 0x824B
#endif //GL_DEBUG_SOURCE_OTHER
#ifndef GL_DEBUG_TYPE_ERROR
#define GL_DEBUG_TYPE_ERROR 0x824C
#endif //GL_DEBUG_TYPE_ERROR
#ifndef GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR
#define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR 0x824D
#endif //GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR
#ifndef GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR
#define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR 0x824E
#endif //GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR
#ifndef GL_DEBUG_TYPE_PORTABILITY
#define GL_DEBUG_TYPE_PORTABILITY 0x824F
#endif //GL_DEBUG_TYPE_PORTABILITY
#ifndef GL_DEBUG_TYPE_PERFORMANCE
#define GL_DEBUG_TYPE_PERFORMANCE 0x8250
#endif //GL_DEBUG_TYPE_PERFORMANCE
#ifndef GL_DEBUG_TYPE_OTHER
#define GL_DEBUG_TYPE_OTHER 0x8251
#endif //GL_DEBUG_TYPE_OTHER
#ifndef GL_PROGRAM_BINARY_RETRIEVABLE_HINT
#define GL_PROGRAM_BINARY_RETRIEVABLE_HINT 0x8257
#endif //GL_PROGRAM_BINARY_RETRIEVABLE_HINT
#ifndef GL_PROGRAM_SEPARABLE
#define GL_PROGRAM_SEPARABLE 0x8258
#endif //GL_PROGRAM_SEPARABLE
#ifndef GL_ACTIVE_PROGRAM
#define GL_ACTIVE_PROGRAM 0x8259
#endif //GL_ACTIVE_PROGRAM
#ifndef GL_PROGRAM_PIPELINE_BINDING
#define GL_PROGRAM_PIPELINE_BINDING 0x825A
#endif //GL_PROGRAM_PIPELINE_BINDING
#ifndef GL_MAX_VIEWPORTS
#define GL_MAX_VIEWPORTS 0x825B
#endif //GL_MAX_VIEWPORTS
#ifndef GL_VIEWPORT_SUBPIXEL_BITS
#define GL_VIEWPORT_SUBPIXEL_BITS 0x825C
#endif //GL_VIEWPORT_SUBPIXEL_BITS
#ifndef GL_VIEWPORT_BOUNDS_RANGE
#define GL_VIEWPORT_BOUNDS_RANGE 0x825D
#endif //GL_VIEWPORT_BOUNDS_RANGE
#ifndef GL_LAYER_PROVOKING_VERTEX
#define GL_LAYER_PROVOKING_VERTEX 0x825E
#endif //GL_LAYER_PROVOKING_VERTEX
#ifndef GL_VIEWPORT_INDEX_PROVOKING_VERTEX
#define GL_VIEWPORT_INDEX_PROVOKING_VERTEX 0x825F
#endif //GL_VIEWPORT_INDEX_PROVOKING_VERTEX
#ifndef GL_UNDEFINED_VERTEX
#define GL_UNDEFINED_VERTEX 0x8260
#endif //GL_UNDEFINED_VERTEX
#ifndef GL_MAX_COMPUTE_SHARED_MEMORY_SIZE
#define GL_MAX_COMPUTE_SHARED_MEMORY_SIZE 0x8262
#endif //GL_MAX_COMPUTE_SHARED_MEMORY_SIZE
#ifndef GL_MAX_COMPUTE_UNIFORM_COMPONENTS
#define GL_MAX_COMPUTE_UNIFORM_COMPONENTS 0x8263
#endif //GL_MAX_COMPUTE_UNIFORM_COMPONENTS
#ifndef GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS
#define GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS 0x8264
#endif //GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS
#ifndef GL_MAX_COMPUTE_ATOMIC_COUNTERS
#define GL_MAX_COMPUTE_ATOMIC_COUNTERS 0x8265
#endif //GL_MAX_COMPUTE_ATOMIC_COUNTERS
#ifndef GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS
#define GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS 0x8266
#endif //GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS
#ifndef GL_COMPUTE_WORK_GROUP_SIZE
#define GL_COMPUTE_WORK_GROUP_SIZE 0x8267
#endif //GL_COMPUTE_WORK_GROUP_SIZE
#ifndef GL_DEBUG_TYPE_MARKER
#define GL_DEBUG_TYPE_MARKER 0x8268
#endif //GL_DEBUG_TYPE_MARKER
#ifndef GL_DEBUG_TYPE_PUSH_GROUP
#define GL_DEBUG_TYPE_PUSH_GROUP 0x8269
#endif //GL_DEBUG_TYPE_PUSH_GROUP
#ifndef GL_DEBUG_TYPE_POP_GROUP
#define GL_DEBUG_TYPE_POP_GROUP 0x826A
#endif //GL_DEBUG_TYPE_POP_GROUP
#ifndef GL_DEBUG_SEVERITY_NOTIFICATION
#define GL_DEBUG_SEVERITY_NOTIFICATION 0x826B
#endif //GL_DEBUG_SEVERITY_NOTIFICATION
#ifndef GL_MAX_DEBUG_GROUP_STACK_DEPTH
#define GL_MAX_DEBUG_GROUP_STACK_DEPTH 0x826C
#endif //GL_MAX_DEBUG_GROUP_STACK_DEPTH
#ifndef GL_DEBUG_GROUP_STACK_DEPTH
#define GL_DEBUG_GROUP_STACK_DEPTH 0x826D
#endif //GL_DEBUG_GROUP_STACK_DEPTH
#ifndef GL_MAX_UNIFORM_LOCATIONS
#define GL_MAX_UNIFORM_LOCATIONS 0x826E
#endif //GL_MAX_UNIFORM_LOCATIONS
#ifndef GL_INTERNALFORMAT_SUPPORTED
#define GL_INTERNALFORMAT_SUPPORTED 0x826F
#endif //GL_INTERNALFORMAT_SUPPORTED
#ifndef GL_INTERNALFORMAT_PREFERRED
#define GL_INTERNALFORMAT_PREFERRED 0x8270
#endif //GL_INTERNALFORMAT_PREFERRED
#ifndef GL_INTERNALFORMAT_RED_SIZE
#define GL_INTERNALFORMAT_RED_SIZE 0x8271
#endif //GL_INTERNALFORMAT_RED_SIZE
#ifndef GL_INTERNALFORMAT_GREEN_SIZE
#define GL_INTERNALFORMAT_GREEN_SIZE 0x8272
#endif //GL_INTERNALFORMAT_GREEN_SIZE
#ifndef GL_INTERNALFORMAT_BLUE_SIZE
#define GL_INTERNALFORMAT_BLUE_SIZE 0x8273
#endif //GL_INTERNALFORMAT_BLUE_SIZE
#ifndef GL_INTERNALFORMAT_ALPHA_SIZE
#define GL_INTERNALFORMAT_ALPHA_SIZE 0x8274
#endif //GL_INTERNALFORMAT_ALPHA_SIZE
#ifndef GL_INTERNALFORMAT_DEPTH_SIZE
#define GL_INTERNALFORMAT_DEPTH_SIZE 0x8275
#endif //GL_INTERNALFORMAT_DEPTH_SIZE
#ifndef GL_INTERNALFORMAT_STENCIL_SIZE
#define GL_INTERNALFORMAT_STENCIL_SIZE 0x8276
#endif //GL_INTERNALFORMAT_STENCIL_SIZE
#ifndef GL_INTERNALFORMAT_SHARED_SIZE
#define GL_INTERNALFORMAT_SHARED_SIZE 0x8277
#endif //GL_INTERNALFORMAT_SHARED_SIZE
#ifndef GL_INTERNALFORMAT_RED_TYPE
#define GL_INTERNALFORMAT_RED_TYPE 0x8278
#endif //GL_INTERNALFORMAT_RED_TYPE
#ifndef GL_INTERNALFORMAT_GREEN_TYPE
#define GL_INTERNALFORMAT_GREEN_TYPE 0x8279
#endif //GL_INTERNALFORMAT_GREEN_TYPE
#ifndef GL_INTERNALFORMAT_BLUE_TYPE
#define GL_INTERNALFORMAT_BLUE_TYPE 0x827A
#endif //GL_INTERNALFORMAT_BLUE_TYPE
#ifndef GL_INTERNALFORMAT_ALPHA_TYPE
#define GL_INTERNALFORMAT_ALPHA_TYPE 0x827B
#endif //GL_INTERNALFORMAT_ALPHA_TYPE
#ifndef GL_INTERNALFORMAT_DEPTH_TYPE
#define GL_INTERNALFORMAT_DEPTH_TYPE 0x827C
#endif //GL_INTERNALFORMAT_DEPTH_TYPE
#ifndef GL_INTERNALFORMAT_STENCIL_TYPE
#define GL_INTERNALFORMAT_STENCIL_TYPE 0x827D
#endif //GL_INTERNALFORMAT_STENCIL_TYPE
#ifndef GL_MAX_WIDTH
#define GL_MAX_WIDTH 0x827E
#endif //GL_MAX_WIDTH
#ifndef GL_MAX_HEIGHT
#define GL_MAX_HEIGHT 0x827F
#endif //GL_MAX_HEIGHT
#ifndef GL_MAX_DEPTH
#define GL_MAX_DEPTH 0x8280
#endif //GL_MAX_DEPTH
#ifndef GL_MAX_LAYERS
#define GL_MAX_LAYERS 0x8281
#endif //GL_MAX_LAYERS
#ifndef GL_MAX_COMBINED_DIMENSIONS
#define GL_MAX_COMBINED_DIMENSIONS 0x8282
#endif //GL_MAX_COMBINED_DIMENSIONS
#ifndef GL_COLOR_COMPONENTS
#define GL_COLOR_COMPONENTS 0x8283
#endif //GL_COLOR_COMPONENTS
#ifndef GL_DEPTH_COMPONENTS
#define GL_DEPTH_COMPONENTS 0x8284
#endif //GL_DEPTH_COMPONENTS
#ifndef GL_STENCIL_COMPONENTS
#define GL_STENCIL_COMPONENTS 0x8285
#endif //GL_STENCIL_COMPONENTS
#ifndef GL_COLOR_RENDERABLE
#define GL_COLOR_RENDERABLE 0x8286
#endif //GL_COLOR_RENDERABLE
#ifndef GL_DEPTH_RENDERABLE
#define GL_DEPTH_RENDERABLE 0x8287
#endif //GL_DEPTH_RENDERABLE
#ifndef GL_STENCIL_RENDERABLE
#define GL_STENCIL_RENDERABLE 0x8288
#endif //GL_STENCIL_RENDERABLE
#ifndef GL_FRAMEBUFFER_RENDERABLE
#define GL_FRAMEBUFFER_RENDERABLE 0x8289
#endif //GL_FRAMEBUFFER_RENDERABLE
#ifndef GL_FRAMEBUFFER_RENDERABLE_LAYERED
#define GL_FRAMEBUFFER_RENDERABLE_LAYERED 0x828A
#endif //GL_FRAMEBUFFER_RENDERABLE_LAYERED
#ifndef GL_FRAMEBUFFER_BLEND
#define GL_FRAMEBUFFER_BLEND 0x828B
#endif //GL_FRAMEBUFFER_BLEND
#ifndef GL_READ_PIXELS
#define GL_READ_PIXELS 0x828C
#endif //GL_READ_PIXELS
#ifndef GL_READ_PIXELS_FORMAT
#define GL_READ_PIXELS_FORMAT 0x828D
#endif //GL_READ_PIXELS_FORMAT
#ifndef GL_READ_PIXELS_TYPE
#define GL_READ_PIXELS_TYPE 0x828E
#endif //GL_READ_PIXELS_TYPE
#ifndef GL_TEXTURE_IMAGE_FORMAT
#define GL_TEXTURE_IMAGE_FORMAT 0x828F
#endif //GL_TEXTURE_IMAGE_FORMAT
#ifndef GL_TEXTURE_IMAGE_TYPE
#define GL_TEXTURE_IMAGE_TYPE 0x8290
#endif //GL_TEXTURE_IMAGE_TYPE
#ifndef GL_GET_TEXTURE_IMAGE_FORMAT
#define GL_GET_TEXTURE_IMAGE_FORMAT 0x8291
#endif //GL_GET_TEXTURE_IMAGE_FORMAT
#ifndef GL_GET_TEXTURE_IMAGE_TYPE
#define GL_GET_TEXTURE_IMAGE_TYPE 0x8292
#endif //GL_GET_TEXTURE_IMAGE_TYPE
#ifndef GL_MIPMAP
#define GL_MIPMAP 0x8293
#endif //GL_MIPMAP
#ifndef GL_MANUAL_GENERATE_MIPMAP
#define GL_MANUAL_GENERATE_MIPMAP 0x8294
#endif //GL_MANUAL_GENERATE_MIPMAP
#ifndef GL_AUTO_GENERATE_MIPMAP
#define GL_AUTO_GENERATE_MIPMAP 0x8295
#endif //GL_AUTO_GENERATE_MIPMAP
#ifndef GL_COLOR_ENCODING
#define GL_COLOR_ENCODING 0x8296
#endif //GL_COLOR_ENCODING
#ifndef GL_SRGB_READ
#define GL_SRGB_READ 0x8297
#endif //GL_SRGB_READ
#ifndef GL_SRGB_WRITE
#define GL_SRGB_WRITE 0x8298
#endif //GL_SRGB_WRITE
#ifndef GL_FILTER
#define GL_FILTER 0x829A
#endif //GL_FILTER
#ifndef GL_VERTEX_TEXTURE
#define GL_VERTEX_TEXTURE 0x829B
#endif //GL_VERTEX_TEXTURE
#ifndef GL_TESS_CONTROL_TEXTURE
#define GL_TESS_CONTROL_TEXTURE 0x829C
#endif //GL_TESS_CONTROL_TEXTURE
#ifndef GL_TESS_EVALUATION_TEXTURE
#define GL_TESS_EVALUATION_TEXTURE 0x829D
#endif //GL_TESS_EVALUATION_TEXTURE
#ifndef GL_GEOMETRY_TEXTURE
#define GL_GEOMETRY_TEXTURE 0x829E
#endif //GL_GEOMETRY_TEXTURE
#ifndef GL_FRAGMENT_TEXTURE
#define GL_FRAGMENT_TEXTURE 0x829F
#endif //GL_FRAGMENT_TEXTURE
#ifndef GL_COMPUTE_TEXTURE
#define GL_COMPUTE_TEXTURE 0x82A0
#endif //GL_COMPUTE_TEXTURE
#ifndef GL_TEXTURE_SHADOW
#define GL_TEXTURE_SHADOW 0x82A1
#endif //GL_TEXTURE_SHADOW
#ifndef GL_TEXTURE_GATHER
#define GL_TEXTURE_GATHER 0x82A2
#endif //GL_TEXTURE_GATHER
#ifndef GL_TEXTURE_GATHER_SHADOW
#define GL_TEXTURE_GATHER_SHADOW 0x82A3
#endif //GL_TEXTURE_GATHER_SHADOW
#ifndef GL_SHADER_IMAGE_LOAD
#define GL_SHADER_IMAGE_LOAD 0x82A4
#endif //GL_SHADER_IMAGE_LOAD
#ifndef GL_SHADER_IMAGE_STORE
#define GL_SHADER_IMAGE_STORE 0x82A5
#endif //GL_SHADER_IMAGE_STORE
#ifndef GL_SHADER_IMAGE_ATOMIC
#define GL_SHADER_IMAGE_ATOMIC 0x82A6
#endif //GL_SHADER_IMAGE_ATOMIC
#ifndef GL_IMAGE_TEXEL_SIZE
#define GL_IMAGE_TEXEL_SIZE 0x82A7
#endif //GL_IMAGE_TEXEL_SIZE
#ifndef GL_IMAGE_COMPATIBILITY_CLASS
#define GL_IMAGE_COMPATIBILITY_CLASS 0x82A8
#endif //GL_IMAGE_COMPATIBILITY_CLASS
#ifndef GL_IMAGE_PIXEL_FORMAT
#define GL_IMAGE_PIXEL_FORMAT 0x82A9
#endif //GL_IMAGE_PIXEL_FORMAT
#ifndef GL_IMAGE_PIXEL_TYPE
#define GL_IMAGE_PIXEL_TYPE 0x82AA
#endif //GL_IMAGE_PIXEL_TYPE
#ifndef GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST
#define GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST 0x82AC
#endif //GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST
#ifndef GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST
#define GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST 0x82AD
#endif //GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST
#ifndef GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE
#define GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE 0x82AE
#endif //GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE
#ifndef GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE
#define GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE 0x82AF
#endif //GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE
#ifndef GL_TEXTURE_COMPRESSED_BLOCK_WIDTH
#define GL_TEXTURE_COMPRESSED_BLOCK_WIDTH 0x82B1
#endif //GL_TEXTURE_COMPRESSED_BLOCK_WIDTH
#ifndef GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT
#define GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT 0x82B2
#endif //GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT
#ifndef GL_TEXTURE_COMPRESSED_BLOCK_SIZE
#define GL_TEXTURE_COMPRESSED_BLOCK_SIZE 0x82B3
#endif //GL_TEXTURE_COMPRESSED_BLOCK_SIZE
#ifndef GL_CLEAR_BUFFER
#define GL_CLEAR_BUFFER 0x82B4
#endif //GL_CLEAR_BUFFER
#ifndef GL_TEXTURE_VIEW
#define GL_TEXTURE_VIEW 0x82B5
#endif //GL_TEXTURE_VIEW
#ifndef GL_VIEW_COMPATIBILITY_CLASS
#define GL_VIEW_COMPATIBILITY_CLASS 0x82B6
#endif //GL_VIEW_COMPATIBILITY_CLASS
#ifndef GL_FULL_SUPPORT
#define GL_FULL_SUPPORT 0x82B7
#endif //GL_FULL_SUPPORT
#ifndef GL_CAVEAT_SUPPORT
#define GL_CAVEAT_SUPPORT 0x82B8
#endif //GL_CAVEAT_SUPPORT
#ifndef GL_IMAGE_CLASS_4_X_32
#define GL_IMAGE_CLASS_4_X_32 0x82B9
#endif //GL_IMAGE_CLASS_4_X_32
#ifndef GL_IMAGE_CLASS_2_X_32
#define GL_IMAGE_CLASS_2_X_32 0x82BA
#endif //GL_IMAGE_CLASS_2_X_32
#ifndef GL_IMAGE_CLASS_1_X_32
#define GL_IMAGE_CLASS_1_X_32 0x82BB
#endif //GL_IMAGE_CLASS_1_X_32
#ifndef GL_IMAGE_CLASS_4_X_16
#define GL_IMAGE_CLASS_4_X_16 0x82BC
#endif //GL_IMAGE_CLASS_4_X_16
#ifndef GL_IMAGE_CLASS_2_X_16
#define GL_IMAGE_CLASS_2_X_16 0x82BD
#endif //GL_IMAGE_CLASS_2_X_16
#ifndef GL_IMAGE_CLASS_1_X_16
#define GL_IMAGE_CLASS_1_X_16 0x82BE
#endif //GL_IMAGE_CLASS_1_X_16
#ifndef GL_IMAGE_CLASS_4_X_8
#define GL_IMAGE_CLASS_4_X_8 0x82BF
#endif //GL_IMAGE_CLASS_4_X_8
#ifndef GL_IMAGE_CLASS_2_X_8
#define GL_IMAGE_CLASS_2_X_8 0x82C0
#endif //GL_IMAGE_CLASS_2_X_8
#ifndef GL_IMAGE_CLASS_1_X_8
#define GL_IMAGE_CLASS_1_X_8 0x82C1
#endif //GL_IMAGE_CLASS_1_X_8
#ifndef GL_IMAGE_CLASS_11_11_10
#define GL_IMAGE_CLASS_11_11_10 0x82C2
#endif //GL_IMAGE_CLASS_11_11_10
#ifndef GL_IMAGE_CLASS_10_10_10_2
#define GL_IMAGE_CLASS_10_10_10_2 0x82C3
#endif //GL_IMAGE_CLASS_10_10_10_2
#ifndef GL_VIEW_CLASS_128_BITS
#define GL_VIEW_CLASS_128_BITS 0x82C4
#endif //GL_VIEW_CLASS_128_BITS
#ifndef GL_VIEW_CLASS_96_BITS
#define GL_VIEW_CLASS_96_BITS 0x82C5
#endif //GL_VIEW_CLASS_96_BITS
#ifndef GL_VIEW_CLASS_64_BITS
#define GL_VIEW_CLASS_64_BITS 0x82C6
#endif //GL_VIEW_CLASS_64_BITS
#ifndef GL_VIEW_CLASS_48_BITS
#define GL_VIEW_CLASS_48_BITS 0x82C7
#endif //GL_VIEW_CLASS_48_BITS
#ifndef GL_VIEW_CLASS_32_BITS
#define GL_VIEW_CLASS_32_BITS 0x82C8
#endif //GL_VIEW_CLASS_32_BITS
#ifndef GL_VIEW_CLASS_24_BITS
#define GL_VIEW_CLASS_24_BITS 0x82C9
#endif //GL_VIEW_CLASS_24_BITS
#ifndef GL_VIEW_CLASS_16_BITS
#define GL_VIEW_CLASS_16_BITS 0x82CA
#endif //GL_VIEW_CLASS_16_BITS
#ifndef GL_VIEW_CLASS_8_BITS
#define GL_VIEW_CLASS_8_BITS 0x82CB
#endif //GL_VIEW_CLASS_8_BITS
#ifndef GL_VIEW_CLASS_S3TC_DXT1_RGB
#define GL_VIEW_CLASS_S3TC_DXT1_RGB 0x82CC
#endif //GL_VIEW_CLASS_S3TC_DXT1_RGB
#ifndef GL_VIEW_CLASS_S3TC_DXT1_RGBA
#define GL_VIEW_CLASS_S3TC_DXT1_RGBA 0x82CD
#endif //GL_VIEW_CLASS_S3TC_DXT1_RGBA
#ifndef GL_VIEW_CLASS_S3TC_DXT3_RGBA
#define GL_VIEW_CLASS_S3TC_DXT3_RGBA 0x82CE
#endif //GL_VIEW_CLASS_S3TC_DXT3_RGBA
#ifndef GL_VIEW_CLASS_S3TC_DXT5_RGBA
#define GL_VIEW_CLASS_S3TC_DXT5_RGBA 0x82CF
#endif //GL_VIEW_CLASS_S3TC_DXT5_RGBA
#ifndef GL_VIEW_CLASS_RGTC1_RED
#define GL_VIEW_CLASS_RGTC1_RED 0x82D0
#endif //GL_VIEW_CLASS_RGTC1_RED
#ifndef GL_VIEW_CLASS_RGTC2_RG
#define GL_VIEW_CLASS_RGTC2_RG 0x82D1
#endif //GL_VIEW_CLASS_RGTC2_RG
#ifndef GL_VIEW_CLASS_BPTC_UNORM
#define GL_VIEW_CLASS_BPTC_UNORM 0x82D2
#endif //GL_VIEW_CLASS_BPTC_UNORM
#ifndef GL_VIEW_CLASS_BPTC_FLOAT
#define GL_VIEW_CLASS_BPTC_FLOAT 0x82D3
#endif //GL_VIEW_CLASS_BPTC_FLOAT
#ifndef GL_VERTEX_ATTRIB_BINDING
#define GL_VERTEX_ATTRIB_BINDING 0x82D4
#endif //GL_VERTEX_ATTRIB_BINDING
#ifndef GL_VERTEX_ATTRIB_RELATIVE_OFFSET
#define GL_VERTEX_ATTRIB_RELATIVE_OFFSET 0x82D5
#endif //GL_VERTEX_ATTRIB_RELATIVE_OFFSET
#ifndef GL_VERTEX_BINDING_DIVISOR
#define GL_VERTEX_BINDING_DIVISOR 0x82D6
#endif //GL_VERTEX_BINDING_DIVISOR
#ifndef GL_VERTEX_BINDING_OFFSET
#define GL_VERTEX_BINDING_OFFSET 0x82D7
#endif //GL_VERTEX_BINDING_OFFSET
#ifndef GL_VERTEX_BINDING_STRIDE
#define GL_VERTEX_BINDING_STRIDE 0x82D8
#endif //GL_VERTEX_BINDING_STRIDE
#ifndef GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET
#define GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET 0x82D9
#endif //GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET
#ifndef GL_MAX_VERTEX_ATTRIB_BINDINGS
#define GL_MAX_VERTEX_ATTRIB_BINDINGS 0x82DA
#endif //GL_MAX_VERTEX_ATTRIB_BINDINGS
#ifndef GL_TEXTURE_VIEW_MIN_LEVEL
#define GL_TEXTURE_VIEW_MIN_LEVEL 0x82DB
#endif //GL_TEXTURE_VIEW_MIN_LEVEL
#ifndef GL_TEXTURE_VIEW_NUM_LEVELS
#define GL_TEXTURE_VIEW_NUM_LEVELS 0x82DC
#endif //GL_TEXTURE_VIEW_NUM_LEVELS
#ifndef GL_TEXTURE_VIEW_MIN_LAYER
#define GL_TEXTURE_VIEW_MIN_LAYER 0x82DD
#endif //GL_TEXTURE_VIEW_MIN_LAYER
#ifndef GL_TEXTURE_VIEW_NUM_LAYERS
#define GL_TEXTURE_VIEW_NUM_LAYERS 0x82DE
#endif //GL_TEXTURE_VIEW_NUM_LAYERS
#ifndef GL_TEXTURE_IMMUTABLE_LEVELS
#define GL_TEXTURE_IMMUTABLE_LEVELS 0x82DF
#endif //GL_TEXTURE_IMMUTABLE_LEVELS
#ifndef GL_BUFFER
#define GL_BUFFER 0x82E0
#endif //GL_BUFFER
#ifndef GL_SHADER
#define GL_SHADER 0x82E1
#endif //GL_SHADER
#ifndef GL_PROGRAM
#define GL_PROGRAM 0x82E2
#endif //GL_PROGRAM
#ifndef GL_QUERY
#define GL_QUERY 0x82E3
#endif //GL_QUERY
#ifndef GL_PROGRAM_PIPELINE
#define GL_PROGRAM_PIPELINE 0x82E4
#endif //GL_PROGRAM_PIPELINE
#ifndef GL_SAMPLER
#define GL_SAMPLER 0x82E6
#endif //GL_SAMPLER
#ifndef GL_MAX_LABEL_LENGTH
#define GL_MAX_LABEL_LENGTH 0x82E8
#endif //GL_MAX_LABEL_LENGTH
#ifndef GL_NUM_SHADING_LANGUAGE_VERSIONS
#define GL_NUM_SHADING_LANGUAGE_VERSIONS 0x82E9
#endif //GL_NUM_SHADING_LANGUAGE_VERSIONS
#ifndef GL_UNSIGNED_BYTE_2_3_3_REV
#define GL_UNSIGNED_BYTE_2_3_3_REV 0x8362
#endif //GL_UNSIGNED_BYTE_2_3_3_REV
#ifndef GL_UNSIGNED_SHORT_5_6_5
#define GL_UNSIGNED_SHORT_5_6_5 0x8363
#endif //GL_UNSIGNED_SHORT_5_6_5
#ifndef GL_UNSIGNED_SHORT_5_6_5_REV
#define GL_UNSIGNED_SHORT_5_6_5_REV 0x8364
#endif //GL_UNSIGNED_SHORT_5_6_5_REV
#ifndef GL_UNSIGNED_SHORT_4_4_4_4_REV
#define GL_UNSIGNED_SHORT_4_4_4_4_REV 0x8365
#endif //GL_UNSIGNED_SHORT_4_4_4_4_REV
#ifndef GL_UNSIGNED_SHORT_1_5_5_5_REV
#define GL_UNSIGNED_SHORT_1_5_5_5_REV 0x8366
#endif //GL_UNSIGNED_SHORT_1_5_5_5_REV
#ifndef GL_UNSIGNED_INT_8_8_8_8_REV
#define GL_UNSIGNED_INT_8_8_8_8_REV 0x8367
#endif //GL_UNSIGNED_INT_8_8_8_8_REV
#ifndef GL_UNSIGNED_INT_2_10_10_10_REV
#define GL_UNSIGNED_INT_2_10_10_10_REV 0x8368
#endif //GL_UNSIGNED_INT_2_10_10_10_REV
#ifndef GL_MIRRORED_REPEAT
#define GL_MIRRORED_REPEAT 0x8370
#endif //GL_MIRRORED_REPEAT
#ifndef GL_ALIASED_LINE_WIDTH_RANGE
#define GL_ALIASED_LINE_WIDTH_RANGE 0x846E
#endif //GL_ALIASED_LINE_WIDTH_RANGE
#ifndef GL_TEXTURE0
#define GL_TEXTURE0 0x84C0
#endif //GL_TEXTURE0
#ifndef GL_TEXTURE1
#define GL_TEXTURE1 0x84C1
#endif //GL_TEXTURE1
#ifndef GL_TEXTURE2
#define GL_TEXTURE2 0x84C2
#endif //GL_TEXTURE2
#ifndef GL_TEXTURE3
#define GL_TEXTURE3 0x84C3
#endif //GL_TEXTURE3
#ifndef GL_TEXTURE4
#define GL_TEXTURE4 0x84C4
#endif //GL_TEXTURE4
#ifndef GL_TEXTURE5
#define GL_TEXTURE5 0x84C5
#endif //GL_TEXTURE5
#ifndef GL_TEXTURE6
#define GL_TEXTURE6 0x84C6
#endif //GL_TEXTURE6
#ifndef GL_TEXTURE7
#define GL_TEXTURE7 0x84C7
#endif //GL_TEXTURE7
#ifndef GL_TEXTURE8
#define GL_TEXTURE8 0x84C8
#endif //GL_TEXTURE8
#ifndef GL_TEXTURE9
#define GL_TEXTURE9 0x84C9
#endif //GL_TEXTURE9
#ifndef GL_TEXTURE10
#define GL_TEXTURE10 0x84CA
#endif //GL_TEXTURE10
#ifndef GL_TEXTURE11
#define GL_TEXTURE11 0x84CB
#endif //GL_TEXTURE11
#ifndef GL_TEXTURE12
#define GL_TEXTURE12 0x84CC
#endif //GL_TEXTURE12
#ifndef GL_TEXTURE13
#define GL_TEXTURE13 0x84CD
#endif //GL_TEXTURE13
#ifndef GL_TEXTURE14
#define GL_TEXTURE14 0x84CE
#endif //GL_TEXTURE14
#ifndef GL_TEXTURE15
#define GL_TEXTURE15 0x84CF
#endif //GL_TEXTURE15
#ifndef GL_TEXTURE16
#define GL_TEXTURE16 0x84D0
#endif //GL_TEXTURE16
#ifndef GL_TEXTURE17
#define GL_TEXTURE17 0x84D1
#endif //GL_TEXTURE17
#ifndef GL_TEXTURE18
#define GL_TEXTURE18 0x84D2
#endif //GL_TEXTURE18
#ifndef GL_TEXTURE19
#define GL_TEXTURE19 0x84D3
#endif //GL_TEXTURE19
#ifndef GL_TEXTURE20
#define GL_TEXTURE20 0x84D4
#endif //GL_TEXTURE20
#ifndef GL_TEXTURE21
#define GL_TEXTURE21 0x84D5
#endif //GL_TEXTURE21
#ifndef GL_TEXTURE22
#define GL_TEXTURE22 0x84D6
#endif //GL_TEXTURE22
#ifndef GL_TEXTURE23
#define GL_TEXTURE23 0x84D7
#endif //GL_TEXTURE23
#ifndef GL_TEXTURE24
#define GL_TEXTURE24 0x84D8
#endif //GL_TEXTURE24
#ifndef GL_TEXTURE25
#define GL_TEXTURE25 0x84D9
#endif //GL_TEXTURE25
#ifndef GL_TEXTURE26
#define GL_TEXTURE26 0x84DA
#endif //GL_TEXTURE26
#ifndef GL_TEXTURE27
#define GL_TEXTURE27 0x84DB
#endif //GL_TEXTURE27
#ifndef GL_TEXTURE28
#define GL_TEXTURE28 0x84DC
#endif //GL_TEXTURE28
#ifndef GL_TEXTURE29
#define GL_TEXTURE29 0x84DD
#endif //GL_TEXTURE29
#ifndef GL_TEXTURE30
#define GL_TEXTURE30 0x84DE
#endif //GL_TEXTURE30
#ifndef GL_TEXTURE31
#define GL_TEXTURE31 0x84DF
#endif //GL_TEXTURE31
#ifndef GL_ACTIVE_TEXTURE
#define GL_ACTIVE_TEXTURE 0x84E0
#endif //GL_ACTIVE_TEXTURE
#ifndef GL_MAX_RENDERBUFFER_SIZE
#define GL_MAX_RENDERBUFFER_SIZE 0x84E8
#endif //GL_MAX_RENDERBUFFER_SIZE
#ifndef GL_COMPRESSED_RGB
#define GL_COMPRESSED_RGB 0x84ED
#endif //GL_COMPRESSED_RGB
#ifndef GL_COMPRESSED_RGBA
#define GL_COMPRESSED_RGBA 0x84EE
#endif //GL_COMPRESSED_RGBA
#ifndef GL_TEXTURE_COMPRESSION_HINT
#define GL_TEXTURE_COMPRESSION_HINT 0x84EF
#endif //GL_TEXTURE_COMPRESSION_HINT
#ifndef GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER
#define GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER 0x84F0
#endif //GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER
#ifndef GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER
#define GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER 0x84F1
#endif //GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER
#ifndef GL_TEXTURE_RECTANGLE
#define GL_TEXTURE_RECTANGLE 0x84F5
#endif //GL_TEXTURE_RECTANGLE
#ifndef GL_TEXTURE_BINDING_RECTANGLE
#define GL_TEXTURE_BINDING_RECTANGLE 0x84F6
#endif //GL_TEXTURE_BINDING_RECTANGLE
#ifndef GL_PROXY_TEXTURE_RECTANGLE
#define GL_PROXY_TEXTURE_RECTANGLE 0x84F7
#endif //GL_PROXY_TEXTURE_RECTANGLE
#ifndef GL_MAX_RECTANGLE_TEXTURE_SIZE
#define GL_MAX_RECTANGLE_TEXTURE_SIZE 0x84F8
#endif //GL_MAX_RECTANGLE_TEXTURE_SIZE
#ifndef GL_DEPTH_STENCIL
#define GL_DEPTH_STENCIL 0x84F9
#endif //GL_DEPTH_STENCIL
#ifndef GL_UNSIGNED_INT_24_8
#define GL_UNSIGNED_INT_24_8 0x84FA
#endif //GL_UNSIGNED_INT_24_8
#ifndef GL_MAX_TEXTURE_LOD_BIAS
#define GL_MAX_TEXTURE_LOD_BIAS 0x84FD
#endif //GL_MAX_TEXTURE_LOD_BIAS
#ifndef GL_TEXTURE_LOD_BIAS
#define GL_TEXTURE_LOD_BIAS 0x8501
#endif //GL_TEXTURE_LOD_BIAS
#ifndef GL_INCR_WRAP
#define GL_INCR_WRAP 0x8507
#endif //GL_INCR_WRAP
#ifndef GL_DECR_WRAP
#define GL_DECR_WRAP 0x8508
#endif //GL_DECR_WRAP
#ifndef GL_TEXTURE_CUBE_MAP
#define GL_TEXTURE_CUBE_MAP 0x8513
#endif //GL_TEXTURE_CUBE_MAP
#ifndef GL_TEXTURE_BINDING_CUBE_MAP
#define GL_TEXTURE_BINDING_CUBE_MAP 0x8514
#endif //GL_TEXTURE_BINDING_CUBE_MAP
#ifndef GL_TEXTURE_CUBE_MAP_POSITIVE_X
#define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515
#endif //GL_TEXTURE_CUBE_MAP_POSITIVE_X
#ifndef GL_TEXTURE_CUBE_MAP_NEGATIVE_X
#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516
#endif //GL_TEXTURE_CUBE_MAP_NEGATIVE_X
#ifndef GL_TEXTURE_CUBE_MAP_POSITIVE_Y
#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x8517
#endif //GL_TEXTURE_CUBE_MAP_POSITIVE_Y
#ifndef GL_TEXTURE_CUBE_MAP_NEGATIVE_Y
#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x8518
#endif //GL_TEXTURE_CUBE_MAP_NEGATIVE_Y
#ifndef GL_TEXTURE_CUBE_MAP_POSITIVE_Z
#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519
#endif //GL_TEXTURE_CUBE_MAP_POSITIVE_Z
#ifndef GL_TEXTURE_CUBE_MAP_NEGATIVE_Z
#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A
#endif //GL_TEXTURE_CUBE_MAP_NEGATIVE_Z
#ifndef GL_PROXY_TEXTURE_CUBE_MAP
#define GL_PROXY_TEXTURE_CUBE_MAP 0x851B
#endif //GL_PROXY_TEXTURE_CUBE_MAP
#ifndef GL_MAX_CUBE_MAP_TEXTURE_SIZE
#define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C
#endif //GL_MAX_CUBE_MAP_TEXTURE_SIZE
#ifndef GL_SRC1_ALPHA
#define GL_SRC1_ALPHA 0x8589
#endif //GL_SRC1_ALPHA
#ifndef GL_VERTEX_ARRAY_BINDING
#define GL_VERTEX_ARRAY_BINDING 0x85B5
#endif //GL_VERTEX_ARRAY_BINDING
#ifndef GL_VERTEX_ATTRIB_ARRAY_ENABLED
#define GL_VERTEX_ATTRIB_ARRAY_ENABLED 0x8622
#endif //GL_VERTEX_ATTRIB_ARRAY_ENABLED
#ifndef GL_VERTEX_ATTRIB_ARRAY_SIZE
#define GL_VERTEX_ATTRIB_ARRAY_SIZE 0x8623
#endif //GL_VERTEX_ATTRIB_ARRAY_SIZE
#ifndef GL_VERTEX_ATTRIB_ARRAY_STRIDE
#define GL_VERTEX_ATTRIB_ARRAY_STRIDE 0x8624
#endif //GL_VERTEX_ATTRIB_ARRAY_STRIDE
#ifndef GL_VERTEX_ATTRIB_ARRAY_TYPE
#define GL_VERTEX_ATTRIB_ARRAY_TYPE 0x8625
#endif //GL_VERTEX_ATTRIB_ARRAY_TYPE
#ifndef GL_CURRENT_VERTEX_ATTRIB
#define GL_CURRENT_VERTEX_ATTRIB 0x8626
#endif //GL_CURRENT_VERTEX_ATTRIB
#ifndef GL_PROGRAM_POINT_SIZE
#define GL_PROGRAM_POINT_SIZE 0x8642
#endif //GL_PROGRAM_POINT_SIZE
#ifndef GL_VERTEX_PROGRAM_POINT_SIZE
#define GL_VERTEX_PROGRAM_POINT_SIZE 0x8642
#endif //GL_VERTEX_PROGRAM_POINT_SIZE
#ifndef GL_VERTEX_ATTRIB_ARRAY_POINTER
#define GL_VERTEX_ATTRIB_ARRAY_POINTER 0x8645
#endif //GL_VERTEX_ATTRIB_ARRAY_POINTER
#ifndef GL_DEPTH_CLAMP
#define GL_DEPTH_CLAMP 0x864F
#endif //GL_DEPTH_CLAMP
#ifndef GL_TEXTURE_COMPRESSED_IMAGE_SIZE
#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE 0x86A0
#endif //GL_TEXTURE_COMPRESSED_IMAGE_SIZE
#ifndef GL_TEXTURE_COMPRESSED
#define GL_TEXTURE_COMPRESSED 0x86A1
#endif //GL_TEXTURE_COMPRESSED
#ifndef GL_NUM_COMPRESSED_TEXTURE_FORMATS
#define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2
#endif //GL_NUM_COMPRESSED_TEXTURE_FORMATS
#ifndef GL_COMPRESSED_TEXTURE_FORMATS
#define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3
#endif //GL_COMPRESSED_TEXTURE_FORMATS
#ifndef GL_PROGRAM_BINARY_LENGTH
#define GL_PROGRAM_BINARY_LENGTH 0x8741
#endif //GL_PROGRAM_BINARY_LENGTH
#ifndef GL_VERTEX_ATTRIB_ARRAY_LONG
#define GL_VERTEX_ATTRIB_ARRAY_LONG 0x874E
#endif //GL_VERTEX_ATTRIB_ARRAY_LONG
#ifndef GL_BUFFER_SIZE
#define GL_BUFFER_SIZE 0x8764
#endif //GL_BUFFER_SIZE
#ifndef GL_BUFFER_USAGE
#define GL_BUFFER_USAGE 0x8765
#endif //GL_BUFFER_USAGE
#ifndef GL_NUM_PROGRAM_BINARY_FORMATS
#define GL_NUM_PROGRAM_BINARY_FORMATS 0x87FE
#endif //GL_NUM_PROGRAM_BINARY_FORMATS
#ifndef GL_PROGRAM_BINARY_FORMATS
#define GL_PROGRAM_BINARY_FORMATS 0x87FF
#endif //GL_PROGRAM_BINARY_FORMATS
#ifndef GL_STENCIL_BACK_FUNC
#define GL_STENCIL_BACK_FUNC 0x8800
#endif //GL_STENCIL_BACK_FUNC
#ifndef GL_STENCIL_BACK_FAIL
#define GL_STENCIL_BACK_FAIL 0x8801
#endif //GL_STENCIL_BACK_FAIL
#ifndef GL_STENCIL_BACK_PASS_DEPTH_FAIL
#define GL_STENCIL_BACK_PASS_DEPTH_FAIL 0x8802
#endif //GL_STENCIL_BACK_PASS_DEPTH_FAIL
#ifndef GL_STENCIL_BACK_PASS_DEPTH_PASS
#define GL_STENCIL_BACK_PASS_DEPTH_PASS 0x8803
#endif //GL_STENCIL_BACK_PASS_DEPTH_PASS
#ifndef GL_RGBA32F
#define GL_RGBA32F 0x8814
#endif //GL_RGBA32F
#ifndef GL_RGB32F
#define GL_RGB32F 0x8815
#endif //GL_RGB32F
#ifndef GL_RGBA16F
#define GL_RGBA16F 0x881A
#endif //GL_RGBA16F
#ifndef GL_RGB16F
#define GL_RGB16F 0x881B
#endif //GL_RGB16F
#ifndef GL_MAX_DRAW_BUFFERS
#define GL_MAX_DRAW_BUFFERS 0x8824
#endif //GL_MAX_DRAW_BUFFERS
#ifndef GL_DRAW_BUFFER0
#define GL_DRAW_BUFFER0 0x8825
#endif //GL_DRAW_BUFFER0
#ifndef GL_DRAW_BUFFER1
#define GL_DRAW_BUFFER1 0x8826
#endif //GL_DRAW_BUFFER1
#ifndef GL_DRAW_BUFFER2
#define GL_DRAW_BUFFER2 0x8827
#endif //GL_DRAW_BUFFER2
#ifndef GL_DRAW_BUFFER3
#define GL_DRAW_BUFFER3 0x8828
#endif //GL_DRAW_BUFFER3
#ifndef GL_DRAW_BUFFER4
#define GL_DRAW_BUFFER4 0x8829
#endif //GL_DRAW_BUFFER4
#ifndef GL_DRAW_BUFFER5
#define GL_DRAW_BUFFER5 0x882A
#endif //GL_DRAW_BUFFER5
#ifndef GL_DRAW_BUFFER6
#define GL_DRAW_BUFFER6 0x882B
#endif //GL_DRAW_BUFFER6
#ifndef GL_DRAW_BUFFER7
#define GL_DRAW_BUFFER7 0x882C
#endif //GL_DRAW_BUFFER7
#ifndef GL_DRAW_BUFFER8
#define GL_DRAW_BUFFER8 0x882D
#endif //GL_DRAW_BUFFER8
#ifndef GL_DRAW_BUFFER9
#define GL_DRAW_BUFFER9 0x882E
#endif //GL_DRAW_BUFFER9
#ifndef GL_DRAW_BUFFER10
#define GL_DRAW_BUFFER10 0x882F
#endif //GL_DRAW_BUFFER10
#ifndef GL_DRAW_BUFFER11
#define GL_DRAW_BUFFER11 0x8830
#endif //GL_DRAW_BUFFER11
#ifndef GL_DRAW_BUFFER12
#define GL_DRAW_BUFFER12 0x8831
#endif //GL_DRAW_BUFFER12
#ifndef GL_DRAW_BUFFER13
#define GL_DRAW_BUFFER13 0x8832
#endif //GL_DRAW_BUFFER13
#ifndef GL_DRAW_BUFFER14
#define GL_DRAW_BUFFER14 0x8833
#endif //GL_DRAW_BUFFER14
#ifndef GL_DRAW_BUFFER15
#define GL_DRAW_BUFFER15 0x8834
#endif //GL_DRAW_BUFFER15
#ifndef GL_BLEND_EQUATION_ALPHA
#define GL_BLEND_EQUATION_ALPHA 0x883D
#endif //GL_BLEND_EQUATION_ALPHA
#ifndef GL_TEXTURE_DEPTH_SIZE
#define GL_TEXTURE_DEPTH_SIZE 0x884A
#endif //GL_TEXTURE_DEPTH_SIZE
#ifndef GL_TEXTURE_COMPARE_MODE
#define GL_TEXTURE_COMPARE_MODE 0x884C
#endif //GL_TEXTURE_COMPARE_MODE
#ifndef GL_TEXTURE_COMPARE_FUNC
#define GL_TEXTURE_COMPARE_FUNC 0x884D
#endif //GL_TEXTURE_COMPARE_FUNC
#ifndef GL_COMPARE_REF_TO_TEXTURE
#define GL_COMPARE_REF_TO_TEXTURE 0x884E
#endif //GL_COMPARE_REF_TO_TEXTURE
#ifndef GL_TEXTURE_CUBE_MAP_SEAMLESS
#define GL_TEXTURE_CUBE_MAP_SEAMLESS 0x884F
#endif //GL_TEXTURE_CUBE_MAP_SEAMLESS
#ifndef GL_QUERY_COUNTER_BITS
#define GL_QUERY_COUNTER_BITS 0x8864
#endif //GL_QUERY_COUNTER_BITS
#ifndef GL_CURRENT_QUERY
#define GL_CURRENT_QUERY 0x8865
#endif //GL_CURRENT_QUERY
#ifndef GL_QUERY_RESULT
#define GL_QUERY_RESULT 0x8866
#endif //GL_QUERY_RESULT
#ifndef GL_QUERY_RESULT_AVAILABLE
#define GL_QUERY_RESULT_AVAILABLE 0x8867
#endif //GL_QUERY_RESULT_AVAILABLE
#ifndef GL_MAX_VERTEX_ATTRIBS
#define GL_MAX_VERTEX_ATTRIBS 0x8869
#endif //GL_MAX_VERTEX_ATTRIBS
#ifndef GL_VERTEX_ATTRIB_ARRAY_NORMALIZED
#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED 0x886A
#endif //GL_VERTEX_ATTRIB_ARRAY_NORMALIZED
#ifndef GL_MAX_TESS_CONTROL_INPUT_COMPONENTS
#define GL_MAX_TESS_CONTROL_INPUT_COMPONENTS 0x886C
#endif //GL_MAX_TESS_CONTROL_INPUT_COMPONENTS
#ifndef GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS
#define GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS 0x886D
#endif //GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS
#ifndef GL_MAX_TEXTURE_IMAGE_UNITS
#define GL_MAX_TEXTURE_IMAGE_UNITS 0x8872
#endif //GL_MAX_TEXTURE_IMAGE_UNITS
#ifndef GL_GEOMETRY_SHADER_INVOCATIONS
#define GL_GEOMETRY_SHADER_INVOCATIONS 0x887F
#endif //GL_GEOMETRY_SHADER_INVOCATIONS
#ifndef GL_ARRAY_BUFFER
#define GL_ARRAY_BUFFER 0x8892
#endif //GL_ARRAY_BUFFER
#ifndef GL_ELEMENT_ARRAY_BUFFER
#define GL_ELEMENT_ARRAY_BUFFER 0x8893
#endif //GL_ELEMENT_ARRAY_BUFFER
#ifndef GL_ARRAY_BUFFER_BINDING
#define GL_ARRAY_BUFFER_BINDING 0x8894
#endif //GL_ARRAY_BUFFER_BINDING
#ifndef GL_ELEMENT_ARRAY_BUFFER_BINDING
#define GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895
#endif //GL_ELEMENT_ARRAY_BUFFER_BINDING
#ifndef GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING
#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F
#endif //GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING
#ifndef GL_READ_ONLY
#define GL_READ_ONLY 0x88B8
#endif //GL_READ_ONLY
#ifndef GL_WRITE_ONLY
#define GL_WRITE_ONLY 0x88B9
#endif //GL_WRITE_ONLY
#ifndef GL_READ_WRITE
#define GL_READ_WRITE 0x88BA
#endif //GL_READ_WRITE
#ifndef GL_BUFFER_ACCESS
#define GL_BUFFER_ACCESS 0x88BB
#endif //GL_BUFFER_ACCESS
#ifndef GL_BUFFER_MAPPED
#define GL_BUFFER_MAPPED 0x88BC
#endif //GL_BUFFER_MAPPED
#ifndef GL_BUFFER_MAP_POINTER
#define GL_BUFFER_MAP_POINTER 0x88BD
#endif //GL_BUFFER_MAP_POINTER
#ifndef GL_TIME_ELAPSED
#define GL_TIME_ELAPSED 0x88BF
#endif //GL_TIME_ELAPSED
#ifndef GL_STREAM_DRAW
#define GL_STREAM_DRAW 0x88E0
#endif //GL_STREAM_DRAW
#ifndef GL_STREAM_READ
#define GL_STREAM_READ 0x88E1
#endif //GL_STREAM_READ
#ifndef GL_STREAM_COPY
#define GL_STREAM_COPY 0x88E2
#endif //GL_STREAM_COPY
#ifndef GL_STATIC_DRAW
#define GL_STATIC_DRAW 0x88E4
#endif //GL_STATIC_DRAW
#ifndef GL_STATIC_READ
#define GL_STATIC_READ 0x88E5
#endif //GL_STATIC_READ
#ifndef GL_STATIC_COPY
#define GL_STATIC_COPY 0x88E6
#endif //GL_STATIC_COPY
#ifndef GL_DYNAMIC_DRAW
#define GL_DYNAMIC_DRAW 0x88E8
#endif //GL_DYNAMIC_DRAW
#ifndef GL_DYNAMIC_READ
#define GL_DYNAMIC_READ 0x88E9
#endif //GL_DYNAMIC_READ
#ifndef GL_DYNAMIC_COPY
#define GL_DYNAMIC_COPY 0x88EA
#endif //GL_DYNAMIC_COPY
#ifndef GL_PIXEL_PACK_BUFFER
#define GL_PIXEL_PACK_BUFFER 0x88EB
#endif //GL_PIXEL_PACK_BUFFER
#ifndef GL_PIXEL_UNPACK_BUFFER
#define GL_PIXEL_UNPACK_BUFFER 0x88EC
#endif //GL_PIXEL_UNPACK_BUFFER
#ifndef GL_PIXEL_PACK_BUFFER_BINDING
#define GL_PIXEL_PACK_BUFFER_BINDING 0x88ED
#endif //GL_PIXEL_PACK_BUFFER_BINDING
#ifndef GL_PIXEL_UNPACK_BUFFER_BINDING
#define GL_PIXEL_UNPACK_BUFFER_BINDING 0x88EF
#endif //GL_PIXEL_UNPACK_BUFFER_BINDING
#ifndef GL_DEPTH24_STENCIL8
#define GL_DEPTH24_STENCIL8 0x88F0
#endif //GL_DEPTH24_STENCIL8
#ifndef GL_TEXTURE_STENCIL_SIZE
#define GL_TEXTURE_STENCIL_SIZE 0x88F1
#endif //GL_TEXTURE_STENCIL_SIZE
#ifndef GL_SRC1_COLOR
#define GL_SRC1_COLOR 0x88F9
#endif //GL_SRC1_COLOR
#ifndef GL_ONE_MINUS_SRC1_COLOR
#define GL_ONE_MINUS_SRC1_COLOR 0x88FA
#endif //GL_ONE_MINUS_SRC1_COLOR
#ifndef GL_ONE_MINUS_SRC1_ALPHA
#define GL_ONE_MINUS_SRC1_ALPHA 0x88FB
#endif //GL_ONE_MINUS_SRC1_ALPHA
#ifndef GL_MAX_DUAL_SOURCE_DRAW_BUFFERS
#define GL_MAX_DUAL_SOURCE_DRAW_BUFFERS 0x88FC
#endif //GL_MAX_DUAL_SOURCE_DRAW_BUFFERS
#ifndef GL_VERTEX_ATTRIB_ARRAY_INTEGER
#define GL_VERTEX_ATTRIB_ARRAY_INTEGER 0x88FD
#endif //GL_VERTEX_ATTRIB_ARRAY_INTEGER
#ifndef GL_VERTEX_ATTRIB_ARRAY_DIVISOR
#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR 0x88FE
#endif //GL_VERTEX_ATTRIB_ARRAY_DIVISOR
#ifndef GL_MAX_ARRAY_TEXTURE_LAYERS
#define GL_MAX_ARRAY_TEXTURE_LAYERS 0x88FF
#endif //GL_MAX_ARRAY_TEXTURE_LAYERS
#ifndef GL_MIN_PROGRAM_TEXEL_OFFSET
#define GL_MIN_PROGRAM_TEXEL_OFFSET 0x8904
#endif //GL_MIN_PROGRAM_TEXEL_OFFSET
#ifndef GL_MAX_PROGRAM_TEXEL_OFFSET
#define GL_MAX_PROGRAM_TEXEL_OFFSET 0x8905
#endif //GL_MAX_PROGRAM_TEXEL_OFFSET
#ifndef GL_SAMPLES_PASSED
#define GL_SAMPLES_PASSED 0x8914
#endif //GL_SAMPLES_PASSED
#ifndef GL_GEOMETRY_VERTICES_OUT
#define GL_GEOMETRY_VERTICES_OUT 0x8916
#endif //GL_GEOMETRY_VERTICES_OUT
#ifndef GL_GEOMETRY_INPUT_TYPE
#define GL_GEOMETRY_INPUT_TYPE 0x8917
#endif //GL_GEOMETRY_INPUT_TYPE
#ifndef GL_GEOMETRY_OUTPUT_TYPE
#define GL_GEOMETRY_OUTPUT_TYPE 0x8918
#endif //GL_GEOMETRY_OUTPUT_TYPE
#ifndef GL_SAMPLER_BINDING
#define GL_SAMPLER_BINDING 0x8919
#endif //GL_SAMPLER_BINDING
#ifndef GL_CLAMP_READ_COLOR
#define GL_CLAMP_READ_COLOR 0x891C
#endif //GL_CLAMP_READ_COLOR
#ifndef GL_FIXED_ONLY
#define GL_FIXED_ONLY 0x891D
#endif //GL_FIXED_ONLY
#ifndef GL_UNIFORM_BUFFER
#define GL_UNIFORM_BUFFER 0x8A11
#endif //GL_UNIFORM_BUFFER
#ifndef GL_UNIFORM_BUFFER_BINDING
#define GL_UNIFORM_BUFFER_BINDING 0x8A28
#endif //GL_UNIFORM_BUFFER_BINDING
#ifndef GL_UNIFORM_BUFFER_START
#define GL_UNIFORM_BUFFER_START 0x8A29
#endif //GL_UNIFORM_BUFFER_START
#ifndef GL_UNIFORM_BUFFER_SIZE
#define GL_UNIFORM_BUFFER_SIZE 0x8A2A
#endif //GL_UNIFORM_BUFFER_SIZE
#ifndef GL_MAX_VERTEX_UNIFORM_BLOCKS
#define GL_MAX_VERTEX_UNIFORM_BLOCKS 0x8A2B
#endif //GL_MAX_VERTEX_UNIFORM_BLOCKS
#ifndef GL_MAX_GEOMETRY_UNIFORM_BLOCKS
#define GL_MAX_GEOMETRY_UNIFORM_BLOCKS 0x8A2C
#endif //GL_MAX_GEOMETRY_UNIFORM_BLOCKS
#ifndef GL_MAX_FRAGMENT_UNIFORM_BLOCKS
#define GL_MAX_FRAGMENT_UNIFORM_BLOCKS 0x8A2D
#endif //GL_MAX_FRAGMENT_UNIFORM_BLOCKS
#ifndef GL_MAX_COMBINED_UNIFORM_BLOCKS
#define GL_MAX_COMBINED_UNIFORM_BLOCKS 0x8A2E
#endif //GL_MAX_COMBINED_UNIFORM_BLOCKS
#ifndef GL_MAX_UNIFORM_BUFFER_BINDINGS
#define GL_MAX_UNIFORM_BUFFER_BINDINGS 0x8A2F
#endif //GL_MAX_UNIFORM_BUFFER_BINDINGS
#ifndef GL_MAX_UNIFORM_BLOCK_SIZE
#define GL_MAX_UNIFORM_BLOCK_SIZE 0x8A30
#endif //GL_MAX_UNIFORM_BLOCK_SIZE
#ifndef GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS
#define GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS 0x8A31
#endif //GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS
#ifndef GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS
#define GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS 0x8A32
#endif //GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS
#ifndef GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS
#define GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS 0x8A33
#endif //GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS
#ifndef GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT
#define GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT 0x8A34
#endif //GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT
#ifndef GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH
#define GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH 0x8A35
#endif //GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH
#ifndef GL_ACTIVE_UNIFORM_BLOCKS
#define GL_ACTIVE_UNIFORM_BLOCKS 0x8A36
#endif //GL_ACTIVE_UNIFORM_BLOCKS
#ifndef GL_UNIFORM_TYPE
#define GL_UNIFORM_TYPE 0x8A37
#endif //GL_UNIFORM_TYPE
#ifndef GL_UNIFORM_SIZE
#define GL_UNIFORM_SIZE 0x8A38
#endif //GL_UNIFORM_SIZE
#ifndef GL_UNIFORM_NAME_LENGTH
#define GL_UNIFORM_NAME_LENGTH 0x8A39
#endif //GL_UNIFORM_NAME_LENGTH
#ifndef GL_UNIFORM_BLOCK_INDEX
#define GL_UNIFORM_BLOCK_INDEX 0x8A3A
#endif //GL_UNIFORM_BLOCK_INDEX
#ifndef GL_UNIFORM_OFFSET
#define GL_UNIFORM_OFFSET 0x8A3B
#endif //GL_UNIFORM_OFFSET
#ifndef GL_UNIFORM_ARRAY_STRIDE
#define GL_UNIFORM_ARRAY_STRIDE 0x8A3C
#endif //GL_UNIFORM_ARRAY_STRIDE
#ifndef GL_UNIFORM_MATRIX_STRIDE
#define GL_UNIFORM_MATRIX_STRIDE 0x8A3D
#endif //GL_UNIFORM_MATRIX_STRIDE
#ifndef GL_UNIFORM_IS_ROW_MAJOR
#define GL_UNIFORM_IS_ROW_MAJOR 0x8A3E
#endif //GL_UNIFORM_IS_ROW_MAJOR
#ifndef GL_UNIFORM_BLOCK_BINDING
#define GL_UNIFORM_BLOCK_BINDING 0x8A3F
#endif //GL_UNIFORM_BLOCK_BINDING
#ifndef GL_UNIFORM_BLOCK_DATA_SIZE
#define GL_UNIFORM_BLOCK_DATA_SIZE 0x8A40
#endif //GL_UNIFORM_BLOCK_DATA_SIZE
#ifndef GL_UNIFORM_BLOCK_NAME_LENGTH
#define GL_UNIFORM_BLOCK_NAME_LENGTH 0x8A41
#endif //GL_UNIFORM_BLOCK_NAME_LENGTH
#ifndef GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS
#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS 0x8A42
#endif //GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS
#ifndef GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES
#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES 0x8A43
#endif //GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES
#ifndef GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER
#define GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER 0x8A44
#endif //GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER
#ifndef GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER
#define GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER 0x8A45
#endif //GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER
#ifndef GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER
#define GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER 0x8A46
#endif //GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER
#ifndef GL_FRAGMENT_SHADER
#define GL_FRAGMENT_SHADER 0x8B30
#endif //GL_FRAGMENT_SHADER
#ifndef GL_VERTEX_SHADER
#define GL_VERTEX_SHADER 0x8B31
#endif //GL_VERTEX_SHADER
#ifndef GL_MAX_FRAGMENT_UNIFORM_COMPONENTS
#define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS 0x8B49
#endif //GL_MAX_FRAGMENT_UNIFORM_COMPONENTS
#ifndef GL_MAX_VERTEX_UNIFORM_COMPONENTS
#define GL_MAX_VERTEX_UNIFORM_COMPONENTS 0x8B4A
#endif //GL_MAX_VERTEX_UNIFORM_COMPONENTS
#ifndef GL_MAX_VARYING_COMPONENTS
#define GL_MAX_VARYING_COMPONENTS 0x8B4B
#endif //GL_MAX_VARYING_COMPONENTS
#ifndef GL_MAX_VARYING_FLOATS
#define GL_MAX_VARYING_FLOATS 0x8B4B
#endif //GL_MAX_VARYING_FLOATS
#ifndef GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS
#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS 0x8B4C
#endif //GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS
#ifndef GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS
#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D
#endif //GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS
#ifndef GL_SHADER_TYPE
#define GL_SHADER_TYPE 0x8B4F
#endif //GL_SHADER_TYPE
#ifndef GL_FLOAT_VEC2
#define GL_FLOAT_VEC2 0x8B50
#endif //GL_FLOAT_VEC2
#ifndef GL_FLOAT_VEC3
#define GL_FLOAT_VEC3 0x8B51
#endif //GL_FLOAT_VEC3
#ifndef GL_FLOAT_VEC4
#define GL_FLOAT_VEC4 0x8B52
#endif //GL_FLOAT_VEC4
#ifndef GL_INT_VEC2
#define GL_INT_VEC2 0x8B53
#endif //GL_INT_VEC2
#ifndef GL_INT_VEC3
#define GL_INT_VEC3 0x8B54
#endif //GL_INT_VEC3
#ifndef GL_INT_VEC4
#define GL_INT_VEC4 0x8B55
#endif //GL_INT_VEC4
#ifndef GL_BOOL
#define GL_BOOL 0x8B56
#endif //GL_BOOL
#ifndef GL_BOOL_VEC2
#define GL_BOOL_VEC2 0x8B57
#endif //GL_BOOL_VEC2
#ifndef GL_BOOL_VEC3
#define GL_BOOL_VEC3 0x8B58
#endif //GL_BOOL_VEC3
#ifndef GL_BOOL_VEC4
#define GL_BOOL_VEC4 0x8B59
#endif //GL_BOOL_VEC4
#ifndef GL_FLOAT_MAT2
#define GL_FLOAT_MAT2 0x8B5A
#endif //GL_FLOAT_MAT2
#ifndef GL_FLOAT_MAT3
#define GL_FLOAT_MAT3 0x8B5B
#endif //GL_FLOAT_MAT3
#ifndef GL_FLOAT_MAT4
#define GL_FLOAT_MAT4 0x8B5C
#endif //GL_FLOAT_MAT4
#ifndef GL_SAMPLER_1D
#define GL_SAMPLER_1D 0x8B5D
#endif //GL_SAMPLER_1D
#ifndef GL_SAMPLER_2D
#define GL_SAMPLER_2D 0x8B5E
#endif //GL_SAMPLER_2D
#ifndef GL_SAMPLER_3D
#define GL_SAMPLER_3D 0x8B5F
#endif //GL_SAMPLER_3D
#ifndef GL_SAMPLER_CUBE
#define GL_SAMPLER_CUBE 0x8B60
#endif //GL_SAMPLER_CUBE
#ifndef GL_SAMPLER_1D_SHADOW
#define GL_SAMPLER_1D_SHADOW 0x8B61
#endif //GL_SAMPLER_1D_SHADOW
#ifndef GL_SAMPLER_2D_SHADOW
#define GL_SAMPLER_2D_SHADOW 0x8B62
#endif //GL_SAMPLER_2D_SHADOW
#ifndef GL_SAMPLER_2D_RECT
#define GL_SAMPLER_2D_RECT 0x8B63
#endif //GL_SAMPLER_2D_RECT
#ifndef GL_SAMPLER_2D_RECT_SHADOW
#define GL_SAMPLER_2D_RECT_SHADOW 0x8B64
#endif //GL_SAMPLER_2D_RECT_SHADOW
#ifndef GL_FLOAT_MAT2x3
#define GL_FLOAT_MAT2x3 0x8B65
#endif //GL_FLOAT_MAT2x3
#ifndef GL_FLOAT_MAT2x4
#define GL_FLOAT_MAT2x4 0x8B66
#endif //GL_FLOAT_MAT2x4
#ifndef GL_FLOAT_MAT3x2
#define GL_FLOAT_MAT3x2 0x8B67
#endif //GL_FLOAT_MAT3x2
#ifndef GL_FLOAT_MAT3x4
#define GL_FLOAT_MAT3x4 0x8B68
#endif //GL_FLOAT_MAT3x4
#ifndef GL_FLOAT_MAT4x2
#define GL_FLOAT_MAT4x2 0x8B69
#endif //GL_FLOAT_MAT4x2
#ifndef GL_FLOAT_MAT4x3
#define GL_FLOAT_MAT4x3 0x8B6A
#endif //GL_FLOAT_MAT4x3
#ifndef GL_DELETE_STATUS
#define GL_DELETE_STATUS 0x8B80
#endif //GL_DELETE_STATUS
#ifndef GL_COMPILE_STATUS
#define GL_COMPILE_STATUS 0x8B81
#endif //GL_COMPILE_STATUS
#ifndef GL_LINK_STATUS
#define GL_LINK_STATUS 0x8B82
#endif //GL_LINK_STATUS
#ifndef GL_VALIDATE_STATUS
#define GL_VALIDATE_STATUS 0x8B83
#endif //GL_VALIDATE_STATUS
#ifndef GL_INFO_LOG_LENGTH
#define GL_INFO_LOG_LENGTH 0x8B84
#endif //GL_INFO_LOG_LENGTH
#ifndef GL_ATTACHED_SHADERS
#define GL_ATTACHED_SHADERS 0x8B85
#endif //GL_ATTACHED_SHADERS
#ifndef GL_ACTIVE_UNIFORMS
#define GL_ACTIVE_UNIFORMS 0x8B86
#endif //GL_ACTIVE_UNIFORMS
#ifndef GL_ACTIVE_UNIFORM_MAX_LENGTH
#define GL_ACTIVE_UNIFORM_MAX_LENGTH 0x8B87
#endif //GL_ACTIVE_UNIFORM_MAX_LENGTH
#ifndef GL_SHADER_SOURCE_LENGTH
#define GL_SHADER_SOURCE_LENGTH 0x8B88
#endif //GL_SHADER_SOURCE_LENGTH
#ifndef GL_ACTIVE_ATTRIBUTES
#define GL_ACTIVE_ATTRIBUTES 0x8B89
#endif //GL_ACTIVE_ATTRIBUTES
#ifndef GL_ACTIVE_ATTRIBUTE_MAX_LENGTH
#define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH 0x8B8A
#endif //GL_ACTIVE_ATTRIBUTE_MAX_LENGTH
#ifndef GL_FRAGMENT_SHADER_DERIVATIVE_HINT
#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT 0x8B8B
#endif //GL_FRAGMENT_SHADER_DERIVATIVE_HINT
#ifndef GL_SHADING_LANGUAGE_VERSION
#define GL_SHADING_LANGUAGE_VERSION 0x8B8C
#endif //GL_SHADING_LANGUAGE_VERSION
#ifndef GL_CURRENT_PROGRAM
#define GL_CURRENT_PROGRAM 0x8B8D
#endif //GL_CURRENT_PROGRAM
#ifndef GL_IMPLEMENTATION_COLOR_READ_TYPE
#define GL_IMPLEMENTATION_COLOR_READ_TYPE 0x8B9A
#endif //GL_IMPLEMENTATION_COLOR_READ_TYPE
#ifndef GL_IMPLEMENTATION_COLOR_READ_FORMAT
#define GL_IMPLEMENTATION_COLOR_READ_FORMAT 0x8B9B
#endif //GL_IMPLEMENTATION_COLOR_READ_FORMAT
#ifndef GL_TEXTURE_RED_TYPE
#define GL_TEXTURE_RED_TYPE 0x8C10
#endif //GL_TEXTURE_RED_TYPE
#ifndef GL_TEXTURE_GREEN_TYPE
#define GL_TEXTURE_GREEN_TYPE 0x8C11
#endif //GL_TEXTURE_GREEN_TYPE
#ifndef GL_TEXTURE_BLUE_TYPE
#define GL_TEXTURE_BLUE_TYPE 0x8C12
#endif //GL_TEXTURE_BLUE_TYPE
#ifndef GL_TEXTURE_ALPHA_TYPE
#define GL_TEXTURE_ALPHA_TYPE 0x8C13
#endif //GL_TEXTURE_ALPHA_TYPE
#ifndef GL_TEXTURE_DEPTH_TYPE
#define GL_TEXTURE_DEPTH_TYPE 0x8C16
#endif //GL_TEXTURE_DEPTH_TYPE
#ifndef GL_UNSIGNED_NORMALIZED
#define GL_UNSIGNED_NORMALIZED 0x8C17
#endif //GL_UNSIGNED_NORMALIZED
#ifndef GL_TEXTURE_1D_ARRAY
#define GL_TEXTURE_1D_ARRAY 0x8C18
#endif //GL_TEXTURE_1D_ARRAY
#ifndef GL_PROXY_TEXTURE_1D_ARRAY
#define GL_PROXY_TEXTURE_1D_ARRAY 0x8C19
#endif //GL_PROXY_TEXTURE_1D_ARRAY
#ifndef GL_TEXTURE_2D_ARRAY
#define GL_TEXTURE_2D_ARRAY 0x8C1A
#endif //GL_TEXTURE_2D_ARRAY
#ifndef GL_PROXY_TEXTURE_2D_ARRAY
#define GL_PROXY_TEXTURE_2D_ARRAY 0x8C1B
#endif //GL_PROXY_TEXTURE_2D_ARRAY
#ifndef GL_TEXTURE_BINDING_1D_ARRAY
#define GL_TEXTURE_BINDING_1D_ARRAY 0x8C1C
#endif //GL_TEXTURE_BINDING_1D_ARRAY
#ifndef GL_TEXTURE_BINDING_2D_ARRAY
#define GL_TEXTURE_BINDING_2D_ARRAY 0x8C1D
#endif //GL_TEXTURE_BINDING_2D_ARRAY
#ifndef GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS
#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS 0x8C29
#endif //GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS
#ifndef GL_TEXTURE_BUFFER
#define GL_TEXTURE_BUFFER 0x8C2A
#endif //GL_TEXTURE_BUFFER
#ifndef GL_MAX_TEXTURE_BUFFER_SIZE
#define GL_MAX_TEXTURE_BUFFER_SIZE 0x8C2B
#endif //GL_MAX_TEXTURE_BUFFER_SIZE
#ifndef GL_TEXTURE_BINDING_BUFFER
#define GL_TEXTURE_BINDING_BUFFER 0x8C2C
#endif //GL_TEXTURE_BINDING_BUFFER
#ifndef GL_TEXTURE_BUFFER_DATA_STORE_BINDING
#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING 0x8C2D
#endif //GL_TEXTURE_BUFFER_DATA_STORE_BINDING
#ifndef GL_ANY_SAMPLES_PASSED
#define GL_ANY_SAMPLES_PASSED 0x8C2F
#endif //GL_ANY_SAMPLES_PASSED
#ifndef GL_SAMPLE_SHADING
#define GL_SAMPLE_SHADING 0x8C36
#endif //GL_SAMPLE_SHADING
#ifndef GL_MIN_SAMPLE_SHADING_VALUE
#define GL_MIN_SAMPLE_SHADING_VALUE 0x8C37
#endif //GL_MIN_SAMPLE_SHADING_VALUE
#ifndef GL_R11F_G11F_B10F
#define GL_R11F_G11F_B10F 0x8C3A
#endif //GL_R11F_G11F_B10F
#ifndef GL_UNSIGNED_INT_10F_11F_11F_REV
#define GL_UNSIGNED_INT_10F_11F_11F_REV 0x8C3B
#endif //GL_UNSIGNED_INT_10F_11F_11F_REV
#ifndef GL_RGB9_E5
#define GL_RGB9_E5 0x8C3D
#endif //GL_RGB9_E5
#ifndef GL_UNSIGNED_INT_5_9_9_9_REV
#define GL_UNSIGNED_INT_5_9_9_9_REV 0x8C3E
#endif //GL_UNSIGNED_INT_5_9_9_9_REV
#ifndef GL_TEXTURE_SHARED_SIZE
#define GL_TEXTURE_SHARED_SIZE 0x8C3F
#endif //GL_TEXTURE_SHARED_SIZE
#ifndef GL_SRGB
#define GL_SRGB 0x8C40
#endif //GL_SRGB
#ifndef GL_SRGB8
#define GL_SRGB8 0x8C41
#endif //GL_SRGB8
#ifndef GL_SRGB_ALPHA
#define GL_SRGB_ALPHA 0x8C42
#endif //GL_SRGB_ALPHA
#ifndef GL_SRGB8_ALPHA8
#define GL_SRGB8_ALPHA8 0x8C43
#endif //GL_SRGB8_ALPHA8
#ifndef GL_COMPRESSED_SRGB
#define GL_COMPRESSED_SRGB 0x8C48
#endif //GL_COMPRESSED_SRGB
#ifndef GL_COMPRESSED_SRGB_ALPHA
#define GL_COMPRESSED_SRGB_ALPHA 0x8C49
#endif //GL_COMPRESSED_SRGB_ALPHA
#ifndef GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH
#define GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH 0x8C76
#endif //GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH
#ifndef GL_TRANSFORM_FEEDBACK_BUFFER_MODE
#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE 0x8C7F
#endif //GL_TRANSFORM_FEEDBACK_BUFFER_MODE
#ifndef GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS
#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS 0x8C80
#endif //GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS
#ifndef GL_TRANSFORM_FEEDBACK_VARYINGS
#define GL_TRANSFORM_FEEDBACK_VARYINGS 0x8C83
#endif //GL_TRANSFORM_FEEDBACK_VARYINGS
#ifndef GL_TRANSFORM_FEEDBACK_BUFFER_START
#define GL_TRANSFORM_FEEDBACK_BUFFER_START 0x8C84
#endif //GL_TRANSFORM_FEEDBACK_BUFFER_START
#ifndef GL_TRANSFORM_FEEDBACK_BUFFER_SIZE
#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE 0x8C85
#endif //GL_TRANSFORM_FEEDBACK_BUFFER_SIZE
#ifndef GL_PRIMITIVES_GENERATED
#define GL_PRIMITIVES_GENERATED 0x8C87
#endif //GL_PRIMITIVES_GENERATED
#ifndef GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN
#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN 0x8C88
#endif //GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN
#ifndef GL_RASTERIZER_DISCARD
#define GL_RASTERIZER_DISCARD 0x8C89
#endif //GL_RASTERIZER_DISCARD
#ifndef GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS
#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS 0x8C8A
#endif //GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS
#ifndef GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS
#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS 0x8C8B
#endif //GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS
#ifndef GL_INTERLEAVED_ATTRIBS
#define GL_INTERLEAVED_ATTRIBS 0x8C8C
#endif //GL_INTERLEAVED_ATTRIBS
#ifndef GL_SEPARATE_ATTRIBS
#define GL_SEPARATE_ATTRIBS 0x8C8D
#endif //GL_SEPARATE_ATTRIBS
#ifndef GL_TRANSFORM_FEEDBACK_BUFFER
#define GL_TRANSFORM_FEEDBACK_BUFFER 0x8C8E
#endif //GL_TRANSFORM_FEEDBACK_BUFFER
#ifndef GL_TRANSFORM_FEEDBACK_BUFFER_BINDING
#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING 0x8C8F
#endif //GL_TRANSFORM_FEEDBACK_BUFFER_BINDING
#ifndef GL_POINT_SPRITE_COORD_ORIGIN
#define GL_POINT_SPRITE_COORD_ORIGIN 0x8CA0
#endif //GL_POINT_SPRITE_COORD_ORIGIN
#ifndef GL_LOWER_LEFT
#define GL_LOWER_LEFT 0x8CA1
#endif //GL_LOWER_LEFT
#ifndef GL_UPPER_LEFT
#define GL_UPPER_LEFT 0x8CA2
#endif //GL_UPPER_LEFT
#ifndef GL_STENCIL_BACK_REF
#define GL_STENCIL_BACK_REF 0x8CA3
#endif //GL_STENCIL_BACK_REF
#ifndef GL_STENCIL_BACK_VALUE_MASK
#define GL_STENCIL_BACK_VALUE_MASK 0x8CA4
#endif //GL_STENCIL_BACK_VALUE_MASK
#ifndef GL_STENCIL_BACK_WRITEMASK
#define GL_STENCIL_BACK_WRITEMASK 0x8CA5
#endif //GL_STENCIL_BACK_WRITEMASK
#ifndef GL_FRAMEBUFFER_BINDING
#define GL_FRAMEBUFFER_BINDING 0x8CA6
#endif //GL_FRAMEBUFFER_BINDING
#ifndef GL_DRAW_FRAMEBUFFER_BINDING
#define GL_DRAW_FRAMEBUFFER_BINDING 0x8CA6
#endif //GL_DRAW_FRAMEBUFFER_BINDING
#ifndef GL_RENDERBUFFER_BINDING
#define GL_RENDERBUFFER_BINDING 0x8CA7
#endif //GL_RENDERBUFFER_BINDING
#ifndef GL_READ_FRAMEBUFFER
#define GL_READ_FRAMEBUFFER 0x8CA8
#endif //GL_READ_FRAMEBUFFER
#ifndef GL_DRAW_FRAMEBUFFER
#define GL_DRAW_FRAMEBUFFER 0x8CA9
#endif //GL_DRAW_FRAMEBUFFER
#ifndef GL_READ_FRAMEBUFFER_BINDING
#define GL_READ_FRAMEBUFFER_BINDING 0x8CAA
#endif //GL_READ_FRAMEBUFFER_BINDING
#ifndef GL_RENDERBUFFER_SAMPLES
#define GL_RENDERBUFFER_SAMPLES 0x8CAB
#endif //GL_RENDERBUFFER_SAMPLES
#ifndef GL_DEPTH_COMPONENT32F
#define GL_DEPTH_COMPONENT32F 0x8CAC
#endif //GL_DEPTH_COMPONENT32F
#ifndef GL_DEPTH32F_STENCIL8
#define GL_DEPTH32F_STENCIL8 0x8CAD
#endif //GL_DEPTH32F_STENCIL8
#ifndef GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE
#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE 0x8CD0
#endif //GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE
#ifndef GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME
#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME 0x8CD1
#endif //GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME
#ifndef GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL
#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL 0x8CD2
#endif //GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL
#ifndef GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE
#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE 0x8CD3
#endif //GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE
#ifndef GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER
#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER 0x8CD4
#endif //GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER
#ifndef GL_FRAMEBUFFER_COMPLETE
#define GL_FRAMEBUFFER_COMPLETE 0x8CD5
#endif //GL_FRAMEBUFFER_COMPLETE
#ifndef GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT
#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT 0x8CD6
#endif //GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT
#ifndef GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT
#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT 0x8CD7
#endif //GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT
#ifndef GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER
#define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER 0x8CDB
#endif //GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER
#ifndef GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER
#define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER 0x8CDC
#endif //GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER
#ifndef GL_FRAMEBUFFER_UNSUPPORTED
#define GL_FRAMEBUFFER_UNSUPPORTED 0x8CDD
#endif //GL_FRAMEBUFFER_UNSUPPORTED
#ifndef GL_MAX_COLOR_ATTACHMENTS
#define GL_MAX_COLOR_ATTACHMENTS 0x8CDF
#endif //GL_MAX_COLOR_ATTACHMENTS
#ifndef GL_COLOR_ATTACHMENT0
#define GL_COLOR_ATTACHMENT0 0x8CE0
#endif //GL_COLOR_ATTACHMENT0
#ifndef GL_COLOR_ATTACHMENT1
#define GL_COLOR_ATTACHMENT1 0x8CE1
#endif //GL_COLOR_ATTACHMENT1
#ifndef GL_COLOR_ATTACHMENT2
#define GL_COLOR_ATTACHMENT2 0x8CE2
#endif //GL_COLOR_ATTACHMENT2
#ifndef GL_COLOR_ATTACHMENT3
#define GL_COLOR_ATTACHMENT3 0x8CE3
#endif //GL_COLOR_ATTACHMENT3
#ifndef GL_COLOR_ATTACHMENT4
#define GL_COLOR_ATTACHMENT4 0x8CE4
#endif //GL_COLOR_ATTACHMENT4
#ifndef GL_COLOR_ATTACHMENT5
#define GL_COLOR_ATTACHMENT5 0x8CE5
#endif //GL_COLOR_ATTACHMENT5
#ifndef GL_COLOR_ATTACHMENT6
#define GL_COLOR_ATTACHMENT6 0x8CE6
#endif //GL_COLOR_ATTACHMENT6
#ifndef GL_COLOR_ATTACHMENT7
#define GL_COLOR_ATTACHMENT7 0x8CE7
#endif //GL_COLOR_ATTACHMENT7
#ifndef GL_COLOR_ATTACHMENT8
#define GL_COLOR_ATTACHMENT8 0x8CE8
#endif //GL_COLOR_ATTACHMENT8
#ifndef GL_COLOR_ATTACHMENT9
#define GL_COLOR_ATTACHMENT9 0x8CE9
#endif //GL_COLOR_ATTACHMENT9
#ifndef GL_COLOR_ATTACHMENT10
#define GL_COLOR_ATTACHMENT10 0x8CEA
#endif //GL_COLOR_ATTACHMENT10
#ifndef GL_COLOR_ATTACHMENT11
#define GL_COLOR_ATTACHMENT11 0x8CEB
#endif //GL_COLOR_ATTACHMENT11
#ifndef GL_COLOR_ATTACHMENT12
#define GL_COLOR_ATTACHMENT12 0x8CEC
#endif //GL_COLOR_ATTACHMENT12
#ifndef GL_COLOR_ATTACHMENT13
#define GL_COLOR_ATTACHMENT13 0x8CED
#endif //GL_COLOR_ATTACHMENT13
#ifndef GL_COLOR_ATTACHMENT14
#define GL_COLOR_ATTACHMENT14 0x8CEE
#endif //GL_COLOR_ATTACHMENT14
#ifndef GL_COLOR_ATTACHMENT15
#define GL_COLOR_ATTACHMENT15 0x8CEF
#endif //GL_COLOR_ATTACHMENT15
#ifndef GL_DEPTH_ATTACHMENT
#define GL_DEPTH_ATTACHMENT 0x8D00
#endif //GL_DEPTH_ATTACHMENT
#ifndef GL_STENCIL_ATTACHMENT
#define GL_STENCIL_ATTACHMENT 0x8D20
#endif //GL_STENCIL_ATTACHMENT
#ifndef GL_FRAMEBUFFER
#define GL_FRAMEBUFFER 0x8D40
#endif //GL_FRAMEBUFFER
#ifndef GL_RENDERBUFFER
#define GL_RENDERBUFFER 0x8D41
#endif //GL_RENDERBUFFER
#ifndef GL_RENDERBUFFER_WIDTH
#define GL_RENDERBUFFER_WIDTH 0x8D42
#endif //GL_RENDERBUFFER_WIDTH
#ifndef GL_RENDERBUFFER_HEIGHT
#define GL_RENDERBUFFER_HEIGHT 0x8D43
#endif //GL_RENDERBUFFER_HEIGHT
#ifndef GL_RENDERBUFFER_INTERNAL_FORMAT
#define GL_RENDERBUFFER_INTERNAL_FORMAT 0x8D44
#endif //GL_RENDERBUFFER_INTERNAL_FORMAT
#ifndef GL_STENCIL_INDEX1
#define GL_STENCIL_INDEX1 0x8D46
#endif //GL_STENCIL_INDEX1
#ifndef GL_STENCIL_INDEX4
#define GL_STENCIL_INDEX4 0x8D47
#endif //GL_STENCIL_INDEX4
#ifndef GL_STENCIL_INDEX8
#define GL_STENCIL_INDEX8 0x8D48
#endif //GL_STENCIL_INDEX8
#ifndef GL_STENCIL_INDEX16
#define GL_STENCIL_INDEX16 0x8D49
#endif //GL_STENCIL_INDEX16
#ifndef GL_RENDERBUFFER_RED_SIZE
#define GL_RENDERBUFFER_RED_SIZE 0x8D50
#endif //GL_RENDERBUFFER_RED_SIZE
#ifndef GL_RENDERBUFFER_GREEN_SIZE
#define GL_RENDERBUFFER_GREEN_SIZE 0x8D51
#endif //GL_RENDERBUFFER_GREEN_SIZE
#ifndef GL_RENDERBUFFER_BLUE_SIZE
#define GL_RENDERBUFFER_BLUE_SIZE 0x8D52
#endif //GL_RENDERBUFFER_BLUE_SIZE
#ifndef GL_RENDERBUFFER_ALPHA_SIZE
#define GL_RENDERBUFFER_ALPHA_SIZE 0x8D53
#endif //GL_RENDERBUFFER_ALPHA_SIZE
#ifndef GL_RENDERBUFFER_DEPTH_SIZE
#define GL_RENDERBUFFER_DEPTH_SIZE 0x8D54
#endif //GL_RENDERBUFFER_DEPTH_SIZE
#ifndef GL_RENDERBUFFER_STENCIL_SIZE
#define GL_RENDERBUFFER_STENCIL_SIZE 0x8D55
#endif //GL_RENDERBUFFER_STENCIL_SIZE
#ifndef GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE
#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE 0x8D56
#endif //GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE
#ifndef GL_MAX_SAMPLES
#define GL_MAX_SAMPLES 0x8D57
#endif //GL_MAX_SAMPLES
#ifndef GL_RGB565
#define GL_RGB565 0x8D62
#endif //GL_RGB565
#ifndef GL_PRIMITIVE_RESTART_FIXED_INDEX
#define GL_PRIMITIVE_RESTART_FIXED_INDEX 0x8D69
#endif //GL_PRIMITIVE_RESTART_FIXED_INDEX
#ifndef GL_ANY_SAMPLES_PASSED_CONSERVATIVE
#define GL_ANY_SAMPLES_PASSED_CONSERVATIVE 0x8D6A
#endif //GL_ANY_SAMPLES_PASSED_CONSERVATIVE
#ifndef GL_MAX_ELEMENT_INDEX
#define GL_MAX_ELEMENT_INDEX 0x8D6B
#endif //GL_MAX_ELEMENT_INDEX
#ifndef GL_RGBA32UI
#define GL_RGBA32UI 0x8D70
#endif //GL_RGBA32UI
#ifndef GL_RGB32UI
#define GL_RGB32UI 0x8D71
#endif //GL_RGB32UI
#ifndef GL_RGBA16UI
#define GL_RGBA16UI 0x8D76
#endif //GL_RGBA16UI
#ifndef GL_RGB16UI
#define GL_RGB16UI 0x8D77
#endif //GL_RGB16UI
#ifndef GL_RGBA8UI
#define GL_RGBA8UI 0x8D7C
#endif //GL_RGBA8UI
#ifndef GL_RGB8UI
#define GL_RGB8UI 0x8D7D
#endif //GL_RGB8UI
#ifndef GL_RGBA32I
#define GL_RGBA32I 0x8D82
#endif //GL_RGBA32I
#ifndef GL_RGB32I
#define GL_RGB32I 0x8D83
#endif //GL_RGB32I
#ifndef GL_RGBA16I
#define GL_RGBA16I 0x8D88
#endif //GL_RGBA16I
#ifndef GL_RGB16I
#define GL_RGB16I 0x8D89
#endif //GL_RGB16I
#ifndef GL_RGBA8I
#define GL_RGBA8I 0x8D8E
#endif //GL_RGBA8I
#ifndef GL_RGB8I
#define GL_RGB8I 0x8D8F
#endif //GL_RGB8I
#ifndef GL_RED_INTEGER
#define GL_RED_INTEGER 0x8D94
#endif //GL_RED_INTEGER
#ifndef GL_GREEN_INTEGER
#define GL_GREEN_INTEGER 0x8D95
#endif //GL_GREEN_INTEGER
#ifndef GL_BLUE_INTEGER
#define GL_BLUE_INTEGER 0x8D96
#endif //GL_BLUE_INTEGER
#ifndef GL_RGB_INTEGER
#define GL_RGB_INTEGER 0x8D98
#endif //GL_RGB_INTEGER
#ifndef GL_RGBA_INTEGER
#define GL_RGBA_INTEGER 0x8D99
#endif //GL_RGBA_INTEGER
#ifndef GL_BGR_INTEGER
#define GL_BGR_INTEGER 0x8D9A
#endif //GL_BGR_INTEGER
#ifndef GL_BGRA_INTEGER
#define GL_BGRA_INTEGER 0x8D9B
#endif //GL_BGRA_INTEGER
#ifndef GL_INT_2_10_10_10_REV
#define GL_INT_2_10_10_10_REV 0x8D9F
#endif //GL_INT_2_10_10_10_REV
#ifndef GL_FRAMEBUFFER_ATTACHMENT_LAYERED
#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED 0x8DA7
#endif //GL_FRAMEBUFFER_ATTACHMENT_LAYERED
#ifndef GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS
#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS 0x8DA8
#endif //GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS
#ifndef GL_FLOAT_32_UNSIGNED_INT_24_8_REV
#define GL_FLOAT_32_UNSIGNED_INT_24_8_REV 0x8DAD
#endif //GL_FLOAT_32_UNSIGNED_INT_24_8_REV
#ifndef GL_FRAMEBUFFER_SRGB
#define GL_FRAMEBUFFER_SRGB 0x8DB9
#endif //GL_FRAMEBUFFER_SRGB
#ifndef GL_COMPRESSED_RED_RGTC1
#define GL_COMPRESSED_RED_RGTC1 0x8DBB
#endif //GL_COMPRESSED_RED_RGTC1
#ifndef GL_COMPRESSED_SIGNED_RED_RGTC1
#define GL_COMPRESSED_SIGNED_RED_RGTC1 0x8DBC
#endif //GL_COMPRESSED_SIGNED_RED_RGTC1
#ifndef GL_COMPRESSED_RG_RGTC2
#define GL_COMPRESSED_RG_RGTC2 0x8DBD
#endif //GL_COMPRESSED_RG_RGTC2
#ifndef GL_COMPRESSED_SIGNED_RG_RGTC2
#define GL_COMPRESSED_SIGNED_RG_RGTC2 0x8DBE
#endif //GL_COMPRESSED_SIGNED_RG_RGTC2
#ifndef GL_SAMPLER_1D_ARRAY
#define GL_SAMPLER_1D_ARRAY 0x8DC0
#endif //GL_SAMPLER_1D_ARRAY
#ifndef GL_SAMPLER_2D_ARRAY
#define GL_SAMPLER_2D_ARRAY 0x8DC1
#endif //GL_SAMPLER_2D_ARRAY
#ifndef GL_SAMPLER_BUFFER
#define GL_SAMPLER_BUFFER 0x8DC2
#endif //GL_SAMPLER_BUFFER
#ifndef GL_SAMPLER_1D_ARRAY_SHADOW
#define GL_SAMPLER_1D_ARRAY_SHADOW 0x8DC3
#endif //GL_SAMPLER_1D_ARRAY_SHADOW
#ifndef GL_SAMPLER_2D_ARRAY_SHADOW
#define GL_SAMPLER_2D_ARRAY_SHADOW 0x8DC4
#endif //GL_SAMPLER_2D_ARRAY_SHADOW
#ifndef GL_SAMPLER_CUBE_SHADOW
#define GL_SAMPLER_CUBE_SHADOW 0x8DC5
#endif //GL_SAMPLER_CUBE_SHADOW
#ifndef GL_UNSIGNED_INT_VEC2
#define GL_UNSIGNED_INT_VEC2 0x8DC6
#endif //GL_UNSIGNED_INT_VEC2
#ifndef GL_UNSIGNED_INT_VEC3
#define GL_UNSIGNED_INT_VEC3 0x8DC7
#endif //GL_UNSIGNED_INT_VEC3
#ifndef GL_UNSIGNED_INT_VEC4
#define GL_UNSIGNED_INT_VEC4 0x8DC8
#endif //GL_UNSIGNED_INT_VEC4
#ifndef GL_INT_SAMPLER_1D
#define GL_INT_SAMPLER_1D 0x8DC9
#endif //GL_INT_SAMPLER_1D
#ifndef GL_INT_SAMPLER_2D
#define GL_INT_SAMPLER_2D 0x8DCA
#endif //GL_INT_SAMPLER_2D
#ifndef GL_INT_SAMPLER_3D
#define GL_INT_SAMPLER_3D 0x8DCB
#endif //GL_INT_SAMPLER_3D
#ifndef GL_INT_SAMPLER_CUBE
#define GL_INT_SAMPLER_CUBE 0x8DCC
#endif //GL_INT_SAMPLER_CUBE
#ifndef GL_INT_SAMPLER_2D_RECT
#define GL_INT_SAMPLER_2D_RECT 0x8DCD
#endif //GL_INT_SAMPLER_2D_RECT
#ifndef GL_INT_SAMPLER_1D_ARRAY
#define GL_INT_SAMPLER_1D_ARRAY 0x8DCE
#endif //GL_INT_SAMPLER_1D_ARRAY
#ifndef GL_INT_SAMPLER_2D_ARRAY
#define GL_INT_SAMPLER_2D_ARRAY 0x8DCF
#endif //GL_INT_SAMPLER_2D_ARRAY
#ifndef GL_INT_SAMPLER_BUFFER
#define GL_INT_SAMPLER_BUFFER 0x8DD0
#endif //GL_INT_SAMPLER_BUFFER
#ifndef GL_UNSIGNED_INT_SAMPLER_1D
#define GL_UNSIGNED_INT_SAMPLER_1D 0x8DD1
#endif //GL_UNSIGNED_INT_SAMPLER_1D
#ifndef GL_UNSIGNED_INT_SAMPLER_2D
#define GL_UNSIGNED_INT_SAMPLER_2D 0x8DD2
#endif //GL_UNSIGNED_INT_SAMPLER_2D
#ifndef GL_UNSIGNED_INT_SAMPLER_3D
#define GL_UNSIGNED_INT_SAMPLER_3D 0x8DD3
#endif //GL_UNSIGNED_INT_SAMPLER_3D
#ifndef GL_UNSIGNED_INT_SAMPLER_CUBE
#define GL_UNSIGNED_INT_SAMPLER_CUBE 0x8DD4
#endif //GL_UNSIGNED_INT_SAMPLER_CUBE
#ifndef GL_UNSIGNED_INT_SAMPLER_2D_RECT
#define GL_UNSIGNED_INT_SAMPLER_2D_RECT 0x8DD5
#endif //GL_UNSIGNED_INT_SAMPLER_2D_RECT
#ifndef GL_UNSIGNED_INT_SAMPLER_1D_ARRAY
#define GL_UNSIGNED_INT_SAMPLER_1D_ARRAY 0x8DD6
#endif //GL_UNSIGNED_INT_SAMPLER_1D_ARRAY
#ifndef GL_UNSIGNED_INT_SAMPLER_2D_ARRAY
#define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY 0x8DD7
#endif //GL_UNSIGNED_INT_SAMPLER_2D_ARRAY
#ifndef GL_UNSIGNED_INT_SAMPLER_BUFFER
#define GL_UNSIGNED_INT_SAMPLER_BUFFER 0x8DD8
#endif //GL_UNSIGNED_INT_SAMPLER_BUFFER
#ifndef GL_GEOMETRY_SHADER
#define GL_GEOMETRY_SHADER 0x8DD9
#endif //GL_GEOMETRY_SHADER
#ifndef GL_MAX_GEOMETRY_UNIFORM_COMPONENTS
#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS 0x8DDF
#endif //GL_MAX_GEOMETRY_UNIFORM_COMPONENTS
#ifndef GL_MAX_GEOMETRY_OUTPUT_VERTICES
#define GL_MAX_GEOMETRY_OUTPUT_VERTICES 0x8DE0
#endif //GL_MAX_GEOMETRY_OUTPUT_VERTICES
#ifndef GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS
#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS 0x8DE1
#endif //GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS
#ifndef GL_ACTIVE_SUBROUTINES
#define GL_ACTIVE_SUBROUTINES 0x8DE5
#endif //GL_ACTIVE_SUBROUTINES
#ifndef GL_ACTIVE_SUBROUTINE_UNIFORMS
#define GL_ACTIVE_SUBROUTINE_UNIFORMS 0x8DE6
#endif //GL_ACTIVE_SUBROUTINE_UNIFORMS
#ifndef GL_MAX_SUBROUTINES
#define GL_MAX_SUBROUTINES 0x8DE7
#endif //GL_MAX_SUBROUTINES
#ifndef GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS
#define GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS 0x8DE8
#endif //GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS
#ifndef GL_LOW_FLOAT
#define GL_LOW_FLOAT 0x8DF0
#endif //GL_LOW_FLOAT
#ifndef GL_MEDIUM_FLOAT
#define GL_MEDIUM_FLOAT 0x8DF1
#endif //GL_MEDIUM_FLOAT
#ifndef GL_HIGH_FLOAT
#define GL_HIGH_FLOAT 0x8DF2
#endif //GL_HIGH_FLOAT
#ifndef GL_LOW_INT
#define GL_LOW_INT 0x8DF3
#endif //GL_LOW_INT
#ifndef GL_MEDIUM_INT
#define GL_MEDIUM_INT 0x8DF4
#endif //GL_MEDIUM_INT
#ifndef GL_HIGH_INT
#define GL_HIGH_INT 0x8DF5
#endif //GL_HIGH_INT
#ifndef GL_SHADER_BINARY_FORMATS
#define GL_SHADER_BINARY_FORMATS 0x8DF8
#endif //GL_SHADER_BINARY_FORMATS
#ifndef GL_NUM_SHADER_BINARY_FORMATS
#define GL_NUM_SHADER_BINARY_FORMATS 0x8DF9
#endif //GL_NUM_SHADER_BINARY_FORMATS
#ifndef GL_SHADER_COMPILER
#define GL_SHADER_COMPILER 0x8DFA
#endif //GL_SHADER_COMPILER
#ifndef GL_MAX_VERTEX_UNIFORM_VECTORS
#define GL_MAX_VERTEX_UNIFORM_VECTORS 0x8DFB
#endif //GL_MAX_VERTEX_UNIFORM_VECTORS
#ifndef GL_MAX_VARYING_VECTORS
#define GL_MAX_VARYING_VECTORS 0x8DFC
#endif //GL_MAX_VARYING_VECTORS
#ifndef GL_MAX_FRAGMENT_UNIFORM_VECTORS
#define GL_MAX_FRAGMENT_UNIFORM_VECTORS 0x8DFD
#endif //GL_MAX_FRAGMENT_UNIFORM_VECTORS
#ifndef GL_QUERY_WAIT
#define GL_QUERY_WAIT 0x8E13
#endif //GL_QUERY_WAIT
#ifndef GL_QUERY_NO_WAIT
#define GL_QUERY_NO_WAIT 0x8E14
#endif //GL_QUERY_NO_WAIT
#ifndef GL_QUERY_BY_REGION_WAIT
#define GL_QUERY_BY_REGION_WAIT 0x8E15
#endif //GL_QUERY_BY_REGION_WAIT
#ifndef GL_QUERY_BY_REGION_NO_WAIT
#define GL_QUERY_BY_REGION_NO_WAIT 0x8E16
#endif //GL_QUERY_BY_REGION_NO_WAIT
#ifndef GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS
#define GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS 0x8E1E
#endif //GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS
#ifndef GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS
#define GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS 0x8E1F
#endif //GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS
#ifndef GL_TRANSFORM_FEEDBACK
#define GL_TRANSFORM_FEEDBACK 0x8E22
#endif //GL_TRANSFORM_FEEDBACK
#ifndef GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED
#define GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED 0x8E23
#endif //GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED
#ifndef GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE
#define GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE 0x8E24
#endif //GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE
#ifndef GL_TRANSFORM_FEEDBACK_BINDING
#define GL_TRANSFORM_FEEDBACK_BINDING 0x8E25
#endif //GL_TRANSFORM_FEEDBACK_BINDING
#ifndef GL_TIMESTAMP
#define GL_TIMESTAMP 0x8E28
#endif //GL_TIMESTAMP
#ifndef GL_TEXTURE_SWIZZLE_R
#define GL_TEXTURE_SWIZZLE_R 0x8E42
#endif //GL_TEXTURE_SWIZZLE_R
#ifndef GL_TEXTURE_SWIZZLE_G
#define GL_TEXTURE_SWIZZLE_G 0x8E43
#endif //GL_TEXTURE_SWIZZLE_G
#ifndef GL_TEXTURE_SWIZZLE_B
#define GL_TEXTURE_SWIZZLE_B 0x8E44
#endif //GL_TEXTURE_SWIZZLE_B
#ifndef GL_TEXTURE_SWIZZLE_A
#define GL_TEXTURE_SWIZZLE_A 0x8E45
#endif //GL_TEXTURE_SWIZZLE_A
#ifndef GL_TEXTURE_SWIZZLE_RGBA
#define GL_TEXTURE_SWIZZLE_RGBA 0x8E46
#endif //GL_TEXTURE_SWIZZLE_RGBA
#ifndef GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS
#define GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS 0x8E47
#endif //GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS
#ifndef GL_ACTIVE_SUBROUTINE_MAX_LENGTH
#define GL_ACTIVE_SUBROUTINE_MAX_LENGTH 0x8E48
#endif //GL_ACTIVE_SUBROUTINE_MAX_LENGTH
#ifndef GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH
#define GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH 0x8E49
#endif //GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH
#ifndef GL_NUM_COMPATIBLE_SUBROUTINES
#define GL_NUM_COMPATIBLE_SUBROUTINES 0x8E4A
#endif //GL_NUM_COMPATIBLE_SUBROUTINES
#ifndef GL_COMPATIBLE_SUBROUTINES
#define GL_COMPATIBLE_SUBROUTINES 0x8E4B
#endif //GL_COMPATIBLE_SUBROUTINES
#ifndef GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION
#define GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION 0x8E4C
#endif //GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION
#ifndef GL_FIRST_VERTEX_CONVENTION
#define GL_FIRST_VERTEX_CONVENTION 0x8E4D
#endif //GL_FIRST_VERTEX_CONVENTION
#ifndef GL_LAST_VERTEX_CONVENTION
#define GL_LAST_VERTEX_CONVENTION 0x8E4E
#endif //GL_LAST_VERTEX_CONVENTION
#ifndef GL_PROVOKING_VERTEX
#define GL_PROVOKING_VERTEX 0x8E4F
#endif //GL_PROVOKING_VERTEX
#ifndef GL_SAMPLE_POSITION
#define GL_SAMPLE_POSITION 0x8E50
#endif //GL_SAMPLE_POSITION
#ifndef GL_SAMPLE_MASK
#define GL_SAMPLE_MASK 0x8E51
#endif //GL_SAMPLE_MASK
#ifndef GL_SAMPLE_MASK_VALUE
#define GL_SAMPLE_MASK_VALUE 0x8E52
#endif //GL_SAMPLE_MASK_VALUE
#ifndef GL_MAX_SAMPLE_MASK_WORDS
#define GL_MAX_SAMPLE_MASK_WORDS 0x8E59
#endif //GL_MAX_SAMPLE_MASK_WORDS
#ifndef GL_MAX_GEOMETRY_SHADER_INVOCATIONS
#define GL_MAX_GEOMETRY_SHADER_INVOCATIONS 0x8E5A
#endif //GL_MAX_GEOMETRY_SHADER_INVOCATIONS
#ifndef GL_MIN_FRAGMENT_INTERPOLATION_OFFSET
#define GL_MIN_FRAGMENT_INTERPOLATION_OFFSET 0x8E5B
#endif //GL_MIN_FRAGMENT_INTERPOLATION_OFFSET
#ifndef GL_MAX_FRAGMENT_INTERPOLATION_OFFSET
#define GL_MAX_FRAGMENT_INTERPOLATION_OFFSET 0x8E5C
#endif //GL_MAX_FRAGMENT_INTERPOLATION_OFFSET
#ifndef GL_FRAGMENT_INTERPOLATION_OFFSET_BITS
#define GL_FRAGMENT_INTERPOLATION_OFFSET_BITS 0x8E5D
#endif //GL_FRAGMENT_INTERPOLATION_OFFSET_BITS
#ifndef GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET
#define GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET 0x8E5E
#endif //GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET
#ifndef GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET
#define GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET 0x8E5F
#endif //GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET
#ifndef GL_MAX_TRANSFORM_FEEDBACK_BUFFERS
#define GL_MAX_TRANSFORM_FEEDBACK_BUFFERS 0x8E70
#endif //GL_MAX_TRANSFORM_FEEDBACK_BUFFERS
#ifndef GL_MAX_VERTEX_STREAMS
#define GL_MAX_VERTEX_STREAMS 0x8E71
#endif //GL_MAX_VERTEX_STREAMS
#ifndef GL_PATCH_VERTICES
#define GL_PATCH_VERTICES 0x8E72
#endif //GL_PATCH_VERTICES
#ifndef GL_PATCH_DEFAULT_INNER_LEVEL
#define GL_PATCH_DEFAULT_INNER_LEVEL 0x8E73
#endif //GL_PATCH_DEFAULT_INNER_LEVEL
#ifndef GL_PATCH_DEFAULT_OUTER_LEVEL
#define GL_PATCH_DEFAULT_OUTER_LEVEL 0x8E74
#endif //GL_PATCH_DEFAULT_OUTER_LEVEL
#ifndef GL_TESS_CONTROL_OUTPUT_VERTICES
#define GL_TESS_CONTROL_OUTPUT_VERTICES 0x8E75
#endif //GL_TESS_CONTROL_OUTPUT_VERTICES
#ifndef GL_TESS_GEN_MODE
#define GL_TESS_GEN_MODE 0x8E76
#endif //GL_TESS_GEN_MODE
#ifndef GL_TESS_GEN_SPACING
#define GL_TESS_GEN_SPACING 0x8E77
#endif //GL_TESS_GEN_SPACING
#ifndef GL_TESS_GEN_VERTEX_ORDER
#define GL_TESS_GEN_VERTEX_ORDER 0x8E78
#endif //GL_TESS_GEN_VERTEX_ORDER
#ifndef GL_TESS_GEN_POINT_MODE
#define GL_TESS_GEN_POINT_MODE 0x8E79
#endif //GL_TESS_GEN_POINT_MODE
#ifndef GL_ISOLINES
#define GL_ISOLINES 0x8E7A
#endif //GL_ISOLINES
#ifndef GL_FRACTIONAL_ODD
#define GL_FRACTIONAL_ODD 0x8E7B
#endif //GL_FRACTIONAL_ODD
#ifndef GL_FRACTIONAL_EVEN
#define GL_FRACTIONAL_EVEN 0x8E7C
#endif //GL_FRACTIONAL_EVEN
#ifndef GL_MAX_PATCH_VERTICES
#define GL_MAX_PATCH_VERTICES 0x8E7D
#endif //GL_MAX_PATCH_VERTICES
#ifndef GL_MAX_TESS_GEN_LEVEL
#define GL_MAX_TESS_GEN_LEVEL 0x8E7E
#endif //GL_MAX_TESS_GEN_LEVEL
#ifndef GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS
#define GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS 0x8E7F
#endif //GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS
#ifndef GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS
#define GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS 0x8E80
#endif //GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS
#ifndef GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS
#define GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS 0x8E81
#endif //GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS
#ifndef GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS
#define GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS 0x8E82
#endif //GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS
#ifndef GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS
#define GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS 0x8E83
#endif //GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS
#ifndef GL_MAX_TESS_PATCH_COMPONENTS
#define GL_MAX_TESS_PATCH_COMPONENTS 0x8E84
#endif //GL_MAX_TESS_PATCH_COMPONENTS
#ifndef GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS
#define GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS 0x8E85
#endif //GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS
#ifndef GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS
#define GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS 0x8E86
#endif //GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS
#ifndef GL_TESS_EVALUATION_SHADER
#define GL_TESS_EVALUATION_SHADER 0x8E87
#endif //GL_TESS_EVALUATION_SHADER
#ifndef GL_TESS_CONTROL_SHADER
#define GL_TESS_CONTROL_SHADER 0x8E88
#endif //GL_TESS_CONTROL_SHADER
#ifndef GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS
#define GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS 0x8E89
#endif //GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS
#ifndef GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS
#define GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS 0x8E8A
#endif //GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS
#ifndef GL_COMPRESSED_RGBA_BPTC_UNORM
#define GL_COMPRESSED_RGBA_BPTC_UNORM 0x8E8C
#endif //GL_COMPRESSED_RGBA_BPTC_UNORM
#ifndef GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM
#define GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM 0x8E8D
#endif //GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM
#ifndef GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT
#define GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT 0x8E8E
#endif //GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT
#ifndef GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT
#define GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT 0x8E8F
#endif //GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT
#ifndef GL_COPY_READ_BUFFER
#define GL_COPY_READ_BUFFER 0x8F36
#endif //GL_COPY_READ_BUFFER
#ifndef GL_COPY_WRITE_BUFFER
#define GL_COPY_WRITE_BUFFER 0x8F37
#endif //GL_COPY_WRITE_BUFFER
#ifndef GL_MAX_IMAGE_UNITS
#define GL_MAX_IMAGE_UNITS 0x8F38
#endif //GL_MAX_IMAGE_UNITS
#ifndef GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES
#define GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES 0x8F39
#endif //GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES
#ifndef GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS
#define GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS 0x8F39
#endif //GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS
#ifndef GL_IMAGE_BINDING_NAME
#define GL_IMAGE_BINDING_NAME 0x8F3A
#endif //GL_IMAGE_BINDING_NAME
#ifndef GL_IMAGE_BINDING_LEVEL
#define GL_IMAGE_BINDING_LEVEL 0x8F3B
#endif //GL_IMAGE_BINDING_LEVEL
#ifndef GL_IMAGE_BINDING_LAYERED
#define GL_IMAGE_BINDING_LAYERED 0x8F3C
#endif //GL_IMAGE_BINDING_LAYERED
#ifndef GL_IMAGE_BINDING_LAYER
#define GL_IMAGE_BINDING_LAYER 0x8F3D
#endif //GL_IMAGE_BINDING_LAYER
#ifndef GL_IMAGE_BINDING_ACCESS
#define GL_IMAGE_BINDING_ACCESS 0x8F3E
#endif //GL_IMAGE_BINDING_ACCESS
#ifndef GL_DRAW_INDIRECT_BUFFER
#define GL_DRAW_INDIRECT_BUFFER 0x8F3F
#endif //GL_DRAW_INDIRECT_BUFFER
#ifndef GL_DRAW_INDIRECT_BUFFER_BINDING
#define GL_DRAW_INDIRECT_BUFFER_BINDING 0x8F43
#endif //GL_DRAW_INDIRECT_BUFFER_BINDING
#ifndef GL_DOUBLE_MAT2
#define GL_DOUBLE_MAT2 0x8F46
#endif //GL_DOUBLE_MAT2
#ifndef GL_DOUBLE_MAT3
#define GL_DOUBLE_MAT3 0x8F47
#endif //GL_DOUBLE_MAT3
#ifndef GL_DOUBLE_MAT4
#define GL_DOUBLE_MAT4 0x8F48
#endif //GL_DOUBLE_MAT4
#ifndef GL_DOUBLE_MAT2x3
#define GL_DOUBLE_MAT2x3 0x8F49
#endif //GL_DOUBLE_MAT2x3
#ifndef GL_DOUBLE_MAT2x4
#define GL_DOUBLE_MAT2x4 0x8F4A
#endif //GL_DOUBLE_MAT2x4
#ifndef GL_DOUBLE_MAT3x2
#define GL_DOUBLE_MAT3x2 0x8F4B
#endif //GL_DOUBLE_MAT3x2
#ifndef GL_DOUBLE_MAT3x4
#define GL_DOUBLE_MAT3x4 0x8F4C
#endif //GL_DOUBLE_MAT3x4
#ifndef GL_DOUBLE_MAT4x2
#define GL_DOUBLE_MAT4x2 0x8F4D
#endif //GL_DOUBLE_MAT4x2
#ifndef GL_DOUBLE_MAT4x3
#define GL_DOUBLE_MAT4x3 0x8F4E
#endif //GL_DOUBLE_MAT4x3
#ifndef GL_VERTEX_BINDING_BUFFER
#define GL_VERTEX_BINDING_BUFFER 0x8F4F
#endif //GL_VERTEX_BINDING_BUFFER
#ifndef GL_R8_SNORM
#define GL_R8_SNORM 0x8F94
#endif //GL_R8_SNORM
#ifndef GL_RG8_SNORM
#define GL_RG8_SNORM 0x8F95
#endif //GL_RG8_SNORM
#ifndef GL_RGB8_SNORM
#define GL_RGB8_SNORM 0x8F96
#endif //GL_RGB8_SNORM
#ifndef GL_RGBA8_SNORM
#define GL_RGBA8_SNORM 0x8F97
#endif //GL_RGBA8_SNORM
#ifndef GL_R16_SNORM
#define GL_R16_SNORM 0x8F98
#endif //GL_R16_SNORM
#ifndef GL_RG16_SNORM
#define GL_RG16_SNORM 0x8F99
#endif //GL_RG16_SNORM
#ifndef GL_RGB16_SNORM
#define GL_RGB16_SNORM 0x8F9A
#endif //GL_RGB16_SNORM
#ifndef GL_RGBA16_SNORM
#define GL_RGBA16_SNORM 0x8F9B
#endif //GL_RGBA16_SNORM
#ifndef GL_SIGNED_NORMALIZED
#define GL_SIGNED_NORMALIZED 0x8F9C
#endif //GL_SIGNED_NORMALIZED
#ifndef GL_PRIMITIVE_RESTART
#define GL_PRIMITIVE_RESTART 0x8F9D
#endif //GL_PRIMITIVE_RESTART
#ifndef GL_PRIMITIVE_RESTART_INDEX
#define GL_PRIMITIVE_RESTART_INDEX 0x8F9E
#endif //GL_PRIMITIVE_RESTART_INDEX
#ifndef GL_DOUBLE_VEC2
#define GL_DOUBLE_VEC2 0x8FFC
#endif //GL_DOUBLE_VEC2
#ifndef GL_DOUBLE_VEC3
#define GL_DOUBLE_VEC3 0x8FFD
#endif //GL_DOUBLE_VEC3
#ifndef GL_DOUBLE_VEC4
#define GL_DOUBLE_VEC4 0x8FFE
#endif //GL_DOUBLE_VEC4
#ifndef GL_TEXTURE_CUBE_MAP_ARRAY
#define GL_TEXTURE_CUBE_MAP_ARRAY 0x9009
#endif //GL_TEXTURE_CUBE_MAP_ARRAY
#ifndef GL_TEXTURE_BINDING_CUBE_MAP_ARRAY
#define GL_TEXTURE_BINDING_CUBE_MAP_ARRAY 0x900A
#endif //GL_TEXTURE_BINDING_CUBE_MAP_ARRAY
#ifndef GL_PROXY_TEXTURE_CUBE_MAP_ARRAY
#define GL_PROXY_TEXTURE_CUBE_MAP_ARRAY 0x900B
#endif //GL_PROXY_TEXTURE_CUBE_MAP_ARRAY
#ifndef GL_SAMPLER_CUBE_MAP_ARRAY
#define GL_SAMPLER_CUBE_MAP_ARRAY 0x900C
#endif //GL_SAMPLER_CUBE_MAP_ARRAY
#ifndef GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW
#define GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW 0x900D
#endif //GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW
#ifndef GL_INT_SAMPLER_CUBE_MAP_ARRAY
#define GL_INT_SAMPLER_CUBE_MAP_ARRAY 0x900E
#endif //GL_INT_SAMPLER_CUBE_MAP_ARRAY
#ifndef GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY
#define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY 0x900F
#endif //GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY
#ifndef GL_IMAGE_1D
#define GL_IMAGE_1D 0x904C
#endif //GL_IMAGE_1D
#ifndef GL_IMAGE_2D
#define GL_IMAGE_2D 0x904D
#endif //GL_IMAGE_2D
#ifndef GL_IMAGE_3D
#define GL_IMAGE_3D 0x904E
#endif //GL_IMAGE_3D
#ifndef GL_IMAGE_2D_RECT
#define GL_IMAGE_2D_RECT 0x904F
#endif //GL_IMAGE_2D_RECT
#ifndef GL_IMAGE_CUBE
#define GL_IMAGE_CUBE 0x9050
#endif //GL_IMAGE_CUBE
#ifndef GL_IMAGE_BUFFER
#define GL_IMAGE_BUFFER 0x9051
#endif //GL_IMAGE_BUFFER
#ifndef GL_IMAGE_1D_ARRAY
#define GL_IMAGE_1D_ARRAY 0x9052
#endif //GL_IMAGE_1D_ARRAY
#ifndef GL_IMAGE_2D_ARRAY
#define GL_IMAGE_2D_ARRAY 0x9053
#endif //GL_IMAGE_2D_ARRAY
#ifndef GL_IMAGE_CUBE_MAP_ARRAY
#define GL_IMAGE_CUBE_MAP_ARRAY 0x9054
#endif //GL_IMAGE_CUBE_MAP_ARRAY
#ifndef GL_IMAGE_2D_MULTISAMPLE
#define GL_IMAGE_2D_MULTISAMPLE 0x9055
#endif //GL_IMAGE_2D_MULTISAMPLE
#ifndef GL_IMAGE_2D_MULTISAMPLE_ARRAY
#define GL_IMAGE_2D_MULTISAMPLE_ARRAY 0x9056
#endif //GL_IMAGE_2D_MULTISAMPLE_ARRAY
#ifndef GL_INT_IMAGE_1D
#define GL_INT_IMAGE_1D 0x9057
#endif //GL_INT_IMAGE_1D
#ifndef GL_INT_IMAGE_2D
#define GL_INT_IMAGE_2D 0x9058
#endif //GL_INT_IMAGE_2D
#ifndef GL_INT_IMAGE_3D
#define GL_INT_IMAGE_3D 0x9059
#endif //GL_INT_IMAGE_3D
#ifndef GL_INT_IMAGE_2D_RECT
#define GL_INT_IMAGE_2D_RECT 0x905A
#endif //GL_INT_IMAGE_2D_RECT
#ifndef GL_INT_IMAGE_CUBE
#define GL_INT_IMAGE_CUBE 0x905B
#endif //GL_INT_IMAGE_CUBE
#ifndef GL_INT_IMAGE_BUFFER
#define GL_INT_IMAGE_BUFFER 0x905C
#endif //GL_INT_IMAGE_BUFFER
#ifndef GL_INT_IMAGE_1D_ARRAY
#define GL_INT_IMAGE_1D_ARRAY 0x905D
#endif //GL_INT_IMAGE_1D_ARRAY
#ifndef GL_INT_IMAGE_2D_ARRAY
#define GL_INT_IMAGE_2D_ARRAY 0x905E
#endif //GL_INT_IMAGE_2D_ARRAY
#ifndef GL_INT_IMAGE_CUBE_MAP_ARRAY
#define GL_INT_IMAGE_CUBE_MAP_ARRAY 0x905F
#endif //GL_INT_IMAGE_CUBE_MAP_ARRAY
#ifndef GL_INT_IMAGE_2D_MULTISAMPLE
#define GL_INT_IMAGE_2D_MULTISAMPLE 0x9060
#endif //GL_INT_IMAGE_2D_MULTISAMPLE
#ifndef GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY
#define GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY 0x9061
#endif //GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY
#ifndef GL_UNSIGNED_INT_IMAGE_1D
#define GL_UNSIGNED_INT_IMAGE_1D 0x9062
#endif //GL_UNSIGNED_INT_IMAGE_1D
#ifndef GL_UNSIGNED_INT_IMAGE_2D
#define GL_UNSIGNED_INT_IMAGE_2D 0x9063
#endif //GL_UNSIGNED_INT_IMAGE_2D
#ifndef GL_UNSIGNED_INT_IMAGE_3D
#define GL_UNSIGNED_INT_IMAGE_3D 0x9064
#endif //GL_UNSIGNED_INT_IMAGE_3D
#ifndef GL_UNSIGNED_INT_IMAGE_2D_RECT
#define GL_UNSIGNED_INT_IMAGE_2D_RECT 0x9065
#endif //GL_UNSIGNED_INT_IMAGE_2D_RECT
#ifndef GL_UNSIGNED_INT_IMAGE_CUBE
#define GL_UNSIGNED_INT_IMAGE_CUBE 0x9066
#endif //GL_UNSIGNED_INT_IMAGE_CUBE
#ifndef GL_UNSIGNED_INT_IMAGE_BUFFER
#define GL_UNSIGNED_INT_IMAGE_BUFFER 0x9067
#endif //GL_UNSIGNED_INT_IMAGE_BUFFER
#ifndef GL_UNSIGNED_INT_IMAGE_1D_ARRAY
#define GL_UNSIGNED_INT_IMAGE_1D_ARRAY 0x9068
#endif //GL_UNSIGNED_INT_IMAGE_1D_ARRAY
#ifndef GL_UNSIGNED_INT_IMAGE_2D_ARRAY
#define GL_UNSIGNED_INT_IMAGE_2D_ARRAY 0x9069
#endif //GL_UNSIGNED_INT_IMAGE_2D_ARRAY
#ifndef GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY
#define GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY 0x906A
#endif //GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY
#ifndef GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE
#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE 0x906B
#endif //GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE
#ifndef GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY
#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY 0x906C
#endif //GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY
#ifndef GL_MAX_IMAGE_SAMPLES
#define GL_MAX_IMAGE_SAMPLES 0x906D
#endif //GL_MAX_IMAGE_SAMPLES
#ifndef GL_IMAGE_BINDING_FORMAT
#define GL_IMAGE_BINDING_FORMAT 0x906E
#endif //GL_IMAGE_BINDING_FORMAT
#ifndef GL_RGB10_A2UI
#define GL_RGB10_A2UI 0x906F
#endif //GL_RGB10_A2UI
#ifndef GL_MIN_MAP_BUFFER_ALIGNMENT
#define GL_MIN_MAP_BUFFER_ALIGNMENT 0x90BC
#endif //GL_MIN_MAP_BUFFER_ALIGNMENT
#ifndef GL_IMAGE_FORMAT_COMPATIBILITY_TYPE
#define GL_IMAGE_FORMAT_COMPATIBILITY_TYPE 0x90C7
#endif //GL_IMAGE_FORMAT_COMPATIBILITY_TYPE
#ifndef GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE
#define GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE 0x90C8
#endif //GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE
#ifndef GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS
#define GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS 0x90C9
#endif //GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS
#ifndef GL_MAX_VERTEX_IMAGE_UNIFORMS
#define GL_MAX_VERTEX_IMAGE_UNIFORMS 0x90CA
#endif //GL_MAX_VERTEX_IMAGE_UNIFORMS
#ifndef GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS
#define GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS 0x90CB
#endif //GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS
#ifndef GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS
#define GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS 0x90CC
#endif //GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS
#ifndef GL_MAX_GEOMETRY_IMAGE_UNIFORMS
#define GL_MAX_GEOMETRY_IMAGE_UNIFORMS 0x90CD
#endif //GL_MAX_GEOMETRY_IMAGE_UNIFORMS
#ifndef GL_MAX_FRAGMENT_IMAGE_UNIFORMS
#define GL_MAX_FRAGMENT_IMAGE_UNIFORMS 0x90CE
#endif //GL_MAX_FRAGMENT_IMAGE_UNIFORMS
#ifndef GL_MAX_COMBINED_IMAGE_UNIFORMS
#define GL_MAX_COMBINED_IMAGE_UNIFORMS 0x90CF
#endif //GL_MAX_COMBINED_IMAGE_UNIFORMS
#ifndef GL_SHADER_STORAGE_BUFFER
#define GL_SHADER_STORAGE_BUFFER 0x90D2
#endif //GL_SHADER_STORAGE_BUFFER
#ifndef GL_SHADER_STORAGE_BUFFER_BINDING
#define GL_SHADER_STORAGE_BUFFER_BINDING 0x90D3
#endif //GL_SHADER_STORAGE_BUFFER_BINDING
#ifndef GL_SHADER_STORAGE_BUFFER_START
#define GL_SHADER_STORAGE_BUFFER_START 0x90D4
#endif //GL_SHADER_STORAGE_BUFFER_START
#ifndef GL_SHADER_STORAGE_BUFFER_SIZE
#define GL_SHADER_STORAGE_BUFFER_SIZE 0x90D5
#endif //GL_SHADER_STORAGE_BUFFER_SIZE
#ifndef GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS
#define GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS 0x90D6
#endif //GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS
#ifndef GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS
#define GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS 0x90D7
#endif //GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS
#ifndef GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS
#define GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS 0x90D8
#endif //GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS
#ifndef GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS
#define GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS 0x90D9
#endif //GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS
#ifndef GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS
#define GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS 0x90DA
#endif //GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS
#ifndef GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS
#define GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS 0x90DB
#endif //GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS
#ifndef GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS
#define GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS 0x90DC
#endif //GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS
#ifndef GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS
#define GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS 0x90DD
#endif //GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS
#ifndef GL_MAX_SHADER_STORAGE_BLOCK_SIZE
#define GL_MAX_SHADER_STORAGE_BLOCK_SIZE 0x90DE
#endif //GL_MAX_SHADER_STORAGE_BLOCK_SIZE
#ifndef GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT
#define GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT 0x90DF
#endif //GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT
#ifndef GL_DEPTH_STENCIL_TEXTURE_MODE
#define GL_DEPTH_STENCIL_TEXTURE_MODE 0x90EA
#endif //GL_DEPTH_STENCIL_TEXTURE_MODE
#ifndef GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS
#define GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS 0x90EB
#endif //GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS
#ifndef GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER
#define GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER 0x90EC
#endif //GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER
#ifndef GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER
#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER 0x90ED
#endif //GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER
#ifndef GL_DISPATCH_INDIRECT_BUFFER
#define GL_DISPATCH_INDIRECT_BUFFER 0x90EE
#endif //GL_DISPATCH_INDIRECT_BUFFER
#ifndef GL_DISPATCH_INDIRECT_BUFFER_BINDING
#define GL_DISPATCH_INDIRECT_BUFFER_BINDING 0x90EF
#endif //GL_DISPATCH_INDIRECT_BUFFER_BINDING
#ifndef GL_TEXTURE_2D_MULTISAMPLE
#define GL_TEXTURE_2D_MULTISAMPLE 0x9100
#endif //GL_TEXTURE_2D_MULTISAMPLE
#ifndef GL_PROXY_TEXTURE_2D_MULTISAMPLE
#define GL_PROXY_TEXTURE_2D_MULTISAMPLE 0x9101
#endif //GL_PROXY_TEXTURE_2D_MULTISAMPLE
#ifndef GL_TEXTURE_2D_MULTISAMPLE_ARRAY
#define GL_TEXTURE_2D_MULTISAMPLE_ARRAY 0x9102
#endif //GL_TEXTURE_2D_MULTISAMPLE_ARRAY
#ifndef GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY
#define GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY 0x9103
#endif //GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY
#ifndef GL_TEXTURE_BINDING_2D_MULTISAMPLE
#define GL_TEXTURE_BINDING_2D_MULTISAMPLE 0x9104
#endif //GL_TEXTURE_BINDING_2D_MULTISAMPLE
#ifndef GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY
#define GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY 0x9105
#endif //GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY
#ifndef GL_TEXTURE_SAMPLES
#define GL_TEXTURE_SAMPLES 0x9106
#endif //GL_TEXTURE_SAMPLES
#ifndef GL_TEXTURE_FIXED_SAMPLE_LOCATIONS
#define GL_TEXTURE_FIXED_SAMPLE_LOCATIONS 0x9107
#endif //GL_TEXTURE_FIXED_SAMPLE_LOCATIONS
#ifndef GL_SAMPLER_2D_MULTISAMPLE
#define GL_SAMPLER_2D_MULTISAMPLE 0x9108
#endif //GL_SAMPLER_2D_MULTISAMPLE
#ifndef GL_INT_SAMPLER_2D_MULTISAMPLE
#define GL_INT_SAMPLER_2D_MULTISAMPLE 0x9109
#endif //GL_INT_SAMPLER_2D_MULTISAMPLE
#ifndef GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE
#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE 0x910A
#endif //GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE
#ifndef GL_SAMPLER_2D_MULTISAMPLE_ARRAY
#define GL_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910B
#endif //GL_SAMPLER_2D_MULTISAMPLE_ARRAY
#ifndef GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY
#define GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910C
#endif //GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY
#ifndef GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY
#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY 0x910D
#endif //GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY
#ifndef GL_MAX_COLOR_TEXTURE_SAMPLES
#define GL_MAX_COLOR_TEXTURE_SAMPLES 0x910E
#endif //GL_MAX_COLOR_TEXTURE_SAMPLES
#ifndef GL_MAX_DEPTH_TEXTURE_SAMPLES
#define GL_MAX_DEPTH_TEXTURE_SAMPLES 0x910F
#endif //GL_MAX_DEPTH_TEXTURE_SAMPLES
#ifndef GL_MAX_INTEGER_SAMPLES
#define GL_MAX_INTEGER_SAMPLES 0x9110
#endif //GL_MAX_INTEGER_SAMPLES
#ifndef GL_MAX_SERVER_WAIT_TIMEOUT
#define GL_MAX_SERVER_WAIT_TIMEOUT 0x9111
#endif //GL_MAX_SERVER_WAIT_TIMEOUT
#ifndef GL_OBJECT_TYPE
#define GL_OBJECT_TYPE 0x9112
#endif //GL_OBJECT_TYPE
#ifndef GL_SYNC_CONDITION
#define GL_SYNC_CONDITION 0x9113
#endif //GL_SYNC_CONDITION
#ifndef GL_SYNC_STATUS
#define GL_SYNC_STATUS 0x9114
#endif //GL_SYNC_STATUS
#ifndef GL_SYNC_FLAGS
#define GL_SYNC_FLAGS 0x9115
#endif //GL_SYNC_FLAGS
#ifndef GL_SYNC_FENCE
#define GL_SYNC_FENCE 0x9116
#endif //GL_SYNC_FENCE
#ifndef GL_SYNC_GPU_COMMANDS_COMPLETE
#define GL_SYNC_GPU_COMMANDS_COMPLETE 0x9117
#endif //GL_SYNC_GPU_COMMANDS_COMPLETE
#ifndef GL_UNSIGNALED
#define GL_UNSIGNALED 0x9118
#endif //GL_UNSIGNALED
#ifndef GL_SIGNALED
#define GL_SIGNALED 0x9119
#endif //GL_SIGNALED
#ifndef GL_ALREADY_SIGNALED
#define GL_ALREADY_SIGNALED 0x911A
#endif //GL_ALREADY_SIGNALED
#ifndef GL_TIMEOUT_EXPIRED
#define GL_TIMEOUT_EXPIRED 0x911B
#endif //GL_TIMEOUT_EXPIRED
#ifndef GL_CONDITION_SATISFIED
#define GL_CONDITION_SATISFIED 0x911C
#endif //GL_CONDITION_SATISFIED
#ifndef GL_WAIT_FAILED
#define GL_WAIT_FAILED 0x911D
#endif //GL_WAIT_FAILED
#ifndef GL_BUFFER_ACCESS_FLAGS
#define GL_BUFFER_ACCESS_FLAGS 0x911F
#endif //GL_BUFFER_ACCESS_FLAGS
#ifndef GL_BUFFER_MAP_LENGTH
#define GL_BUFFER_MAP_LENGTH 0x9120
#endif //GL_BUFFER_MAP_LENGTH
#ifndef GL_BUFFER_MAP_OFFSET
#define GL_BUFFER_MAP_OFFSET 0x9121
#endif //GL_BUFFER_MAP_OFFSET
#ifndef GL_MAX_VERTEX_OUTPUT_COMPONENTS
#define GL_MAX_VERTEX_OUTPUT_COMPONENTS 0x9122
#endif //GL_MAX_VERTEX_OUTPUT_COMPONENTS
#ifndef GL_MAX_GEOMETRY_INPUT_COMPONENTS
#define GL_MAX_GEOMETRY_INPUT_COMPONENTS 0x9123
#endif //GL_MAX_GEOMETRY_INPUT_COMPONENTS
#ifndef GL_MAX_GEOMETRY_OUTPUT_COMPONENTS
#define GL_MAX_GEOMETRY_OUTPUT_COMPONENTS 0x9124
#endif //GL_MAX_GEOMETRY_OUTPUT_COMPONENTS
#ifndef GL_MAX_FRAGMENT_INPUT_COMPONENTS
#define GL_MAX_FRAGMENT_INPUT_COMPONENTS 0x9125
#endif //GL_MAX_FRAGMENT_INPUT_COMPONENTS
#ifndef GL_CONTEXT_PROFILE_MASK
#define GL_CONTEXT_PROFILE_MASK 0x9126
#endif //GL_CONTEXT_PROFILE_MASK
#ifndef GL_UNPACK_COMPRESSED_BLOCK_WIDTH
#define GL_UNPACK_COMPRESSED_BLOCK_WIDTH 0x9127
#endif //GL_UNPACK_COMPRESSED_BLOCK_WIDTH
#ifndef GL_UNPACK_COMPRESSED_BLOCK_HEIGHT
#define GL_UNPACK_COMPRESSED_BLOCK_HEIGHT 0x9128
#endif //GL_UNPACK_COMPRESSED_BLOCK_HEIGHT
#ifndef GL_UNPACK_COMPRESSED_BLOCK_DEPTH
#define GL_UNPACK_COMPRESSED_BLOCK_DEPTH 0x9129
#endif //GL_UNPACK_COMPRESSED_BLOCK_DEPTH
#ifndef GL_UNPACK_COMPRESSED_BLOCK_SIZE
#define GL_UNPACK_COMPRESSED_BLOCK_SIZE 0x912A
#endif //GL_UNPACK_COMPRESSED_BLOCK_SIZE
#ifndef GL_PACK_COMPRESSED_BLOCK_WIDTH
#define GL_PACK_COMPRESSED_BLOCK_WIDTH 0x912B
#endif //GL_PACK_COMPRESSED_BLOCK_WIDTH
#ifndef GL_PACK_COMPRESSED_BLOCK_HEIGHT
#define GL_PACK_COMPRESSED_BLOCK_HEIGHT 0x912C
#endif //GL_PACK_COMPRESSED_BLOCK_HEIGHT
#ifndef GL_PACK_COMPRESSED_BLOCK_DEPTH
#define GL_PACK_COMPRESSED_BLOCK_DEPTH 0x912D
#endif //GL_PACK_COMPRESSED_BLOCK_DEPTH
#ifndef GL_PACK_COMPRESSED_BLOCK_SIZE
#define GL_PACK_COMPRESSED_BLOCK_SIZE 0x912E
#endif //GL_PACK_COMPRESSED_BLOCK_SIZE
#ifndef GL_TEXTURE_IMMUTABLE_FORMAT
#define GL_TEXTURE_IMMUTABLE_FORMAT 0x912F
#endif //GL_TEXTURE_IMMUTABLE_FORMAT
#ifndef GL_MAX_DEBUG_MESSAGE_LENGTH
#define GL_MAX_DEBUG_MESSAGE_LENGTH 0x9143
#endif //GL_MAX_DEBUG_MESSAGE_LENGTH
#ifndef GL_MAX_DEBUG_LOGGED_MESSAGES
#define GL_MAX_DEBUG_LOGGED_MESSAGES 0x9144
#endif //GL_MAX_DEBUG_LOGGED_MESSAGES
#ifndef GL_DEBUG_LOGGED_MESSAGES
#define GL_DEBUG_LOGGED_MESSAGES 0x9145
#endif //GL_DEBUG_LOGGED_MESSAGES
#ifndef GL_DEBUG_SEVERITY_HIGH
#define GL_DEBUG_SEVERITY_HIGH 0x9146
#endif //GL_DEBUG_SEVERITY_HIGH
#ifndef GL_DEBUG_SEVERITY_MEDIUM
#define GL_DEBUG_SEVERITY_MEDIUM 0x9147
#endif //GL_DEBUG_SEVERITY_MEDIUM
#ifndef GL_DEBUG_SEVERITY_LOW
#define GL_DEBUG_SEVERITY_LOW 0x9148
#endif //GL_DEBUG_SEVERITY_LOW
#ifndef GL_TEXTURE_BUFFER_OFFSET
#define GL_TEXTURE_BUFFER_OFFSET 0x919D
#endif //GL_TEXTURE_BUFFER_OFFSET
#ifndef GL_TEXTURE_BUFFER_SIZE
#define GL_TEXTURE_BUFFER_SIZE 0x919E
#endif //GL_TEXTURE_BUFFER_SIZE
#ifndef GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT
#define GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT 0x919F
#endif //GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT
#ifndef GL_COMPUTE_SHADER
#define GL_COMPUTE_SHADER 0x91B9
#endif //GL_COMPUTE_SHADER
#ifndef GL_MAX_COMPUTE_UNIFORM_BLOCKS
#define GL_MAX_COMPUTE_UNIFORM_BLOCKS 0x91BB
#endif //GL_MAX_COMPUTE_UNIFORM_BLOCKS
#ifndef GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS
#define GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS 0x91BC
#endif //GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS
#ifndef GL_MAX_COMPUTE_IMAGE_UNIFORMS
#define GL_MAX_COMPUTE_IMAGE_UNIFORMS 0x91BD
#endif //GL_MAX_COMPUTE_IMAGE_UNIFORMS
#ifndef GL_MAX_COMPUTE_WORK_GROUP_COUNT
#define GL_MAX_COMPUTE_WORK_GROUP_COUNT 0x91BE
#endif //GL_MAX_COMPUTE_WORK_GROUP_COUNT
#ifndef GL_MAX_COMPUTE_WORK_GROUP_SIZE
#define GL_MAX_COMPUTE_WORK_GROUP_SIZE 0x91BF
#endif //GL_MAX_COMPUTE_WORK_GROUP_SIZE
#ifndef GL_COMPRESSED_R11_EAC
#define GL_COMPRESSED_R11_EAC 0x9270
#endif //GL_COMPRESSED_R11_EAC
#ifndef GL_COMPRESSED_SIGNED_R11_EAC
#define GL_COMPRESSED_SIGNED_R11_EAC 0x9271
#endif //GL_COMPRESSED_SIGNED_R11_EAC
#ifndef GL_COMPRESSED_RG11_EAC
#define GL_COMPRESSED_RG11_EAC 0x9272
#endif //GL_COMPRESSED_RG11_EAC
#ifndef GL_COMPRESSED_SIGNED_RG11_EAC
#define GL_COMPRESSED_SIGNED_RG11_EAC 0x9273
#endif //GL_COMPRESSED_SIGNED_RG11_EAC
#ifndef GL_COMPRESSED_RGB8_ETC2
#define GL_COMPRESSED_RGB8_ETC2 0x9274
#endif //GL_COMPRESSED_RGB8_ETC2
#ifndef GL_COMPRESSED_SRGB8_ETC2
#define GL_COMPRESSED_SRGB8_ETC2 0x9275
#endif //GL_COMPRESSED_SRGB8_ETC2
#ifndef GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2
#define GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 0x9276
#endif //GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2
#ifndef GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2
#define GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 0x9277
#endif //GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2
#ifndef GL_COMPRESSED_RGBA8_ETC2_EAC
#define GL_COMPRESSED_RGBA8_ETC2_EAC 0x9278
#endif //GL_COMPRESSED_RGBA8_ETC2_EAC
#ifndef GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC
#define GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC 0x9279
#endif //GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC
#ifndef GL_ATOMIC_COUNTER_BUFFER
#define GL_ATOMIC_COUNTER_BUFFER 0x92C0
#endif //GL_ATOMIC_COUNTER_BUFFER
#ifndef GL_ATOMIC_COUNTER_BUFFER_BINDING
#define GL_ATOMIC_COUNTER_BUFFER_BINDING 0x92C1
#endif //GL_ATOMIC_COUNTER_BUFFER_BINDING
#ifndef GL_ATOMIC_COUNTER_BUFFER_START
#define GL_ATOMIC_COUNTER_BUFFER_START 0x92C2
#endif //GL_ATOMIC_COUNTER_BUFFER_START
#ifndef GL_ATOMIC_COUNTER_BUFFER_SIZE
#define GL_ATOMIC_COUNTER_BUFFER_SIZE 0x92C3
#endif //GL_ATOMIC_COUNTER_BUFFER_SIZE
#ifndef GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE
#define GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE 0x92C4
#endif //GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE
#ifndef GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS
#define GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS 0x92C5
#endif //GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS
#ifndef GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES
#define GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES 0x92C6
#endif //GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES
#ifndef GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER
#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER 0x92C7
#endif //GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER
#ifndef GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER
#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER 0x92C8
#endif //GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER
#ifndef GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER
#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER 0x92C9
#endif //GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER
#ifndef GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER
#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER 0x92CA
#endif //GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER
#ifndef GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER
#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER 0x92CB
#endif //GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER
#ifndef GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS
#define GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS 0x92CC
#endif //GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS
#ifndef GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS
#define GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS 0x92CD
#endif //GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS
#ifndef GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS
#define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS 0x92CE
#endif //GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS
#ifndef GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS
#define GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS 0x92CF
#endif //GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS
#ifndef GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS
#define GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS 0x92D0
#endif //GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS
#ifndef GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS
#define GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS 0x92D1
#endif //GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS
#ifndef GL_MAX_VERTEX_ATOMIC_COUNTERS
#define GL_MAX_VERTEX_ATOMIC_COUNTERS 0x92D2
#endif //GL_MAX_VERTEX_ATOMIC_COUNTERS
#ifndef GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS
#define GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS 0x92D3
#endif //GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS
#ifndef GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS
#define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS 0x92D4
#endif //GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS
#ifndef GL_MAX_GEOMETRY_ATOMIC_COUNTERS
#define GL_MAX_GEOMETRY_ATOMIC_COUNTERS 0x92D5
#endif //GL_MAX_GEOMETRY_ATOMIC_COUNTERS
#ifndef GL_MAX_FRAGMENT_ATOMIC_COUNTERS
#define GL_MAX_FRAGMENT_ATOMIC_COUNTERS 0x92D6
#endif //GL_MAX_FRAGMENT_ATOMIC_COUNTERS
#ifndef GL_MAX_COMBINED_ATOMIC_COUNTERS
#define GL_MAX_COMBINED_ATOMIC_COUNTERS 0x92D7
#endif //GL_MAX_COMBINED_ATOMIC_COUNTERS
#ifndef GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE
#define GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE 0x92D8
#endif //GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE
#ifndef GL_ACTIVE_ATOMIC_COUNTER_BUFFERS
#define GL_ACTIVE_ATOMIC_COUNTER_BUFFERS 0x92D9
#endif //GL_ACTIVE_ATOMIC_COUNTER_BUFFERS
#ifndef GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX
#define GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX 0x92DA
#endif //GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX
#ifndef GL_UNSIGNED_INT_ATOMIC_COUNTER
#define GL_UNSIGNED_INT_ATOMIC_COUNTER 0x92DB
#endif //GL_UNSIGNED_INT_ATOMIC_COUNTER
#ifndef GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS
#define GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS 0x92DC
#endif //GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS
#ifndef GL_DEBUG_OUTPUT
#define GL_DEBUG_OUTPUT 0x92E0
#endif //GL_DEBUG_OUTPUT
#ifndef GL_UNIFORM
#define GL_UNIFORM 0x92E1
#endif //GL_UNIFORM
#ifndef GL_UNIFORM_BLOCK
#define GL_UNIFORM_BLOCK 0x92E2
#endif //GL_UNIFORM_BLOCK
#ifndef GL_PROGRAM_INPUT
#define GL_PROGRAM_INPUT 0x92E3
#endif //GL_PROGRAM_INPUT
#ifndef GL_PROGRAM_OUTPUT
#define GL_PROGRAM_OUTPUT 0x92E4
#endif //GL_PROGRAM_OUTPUT
#ifndef GL_BUFFER_VARIABLE
#define GL_BUFFER_VARIABLE 0x92E5
#endif //GL_BUFFER_VARIABLE
#ifndef GL_SHADER_STORAGE_BLOCK
#define GL_SHADER_STORAGE_BLOCK 0x92E6
#endif //GL_SHADER_STORAGE_BLOCK
#ifndef GL_IS_PER_PATCH
#define GL_IS_PER_PATCH 0x92E7
#endif //GL_IS_PER_PATCH
#ifndef GL_VERTEX_SUBROUTINE
#define GL_VERTEX_SUBROUTINE 0x92E8
#endif //GL_VERTEX_SUBROUTINE
#ifndef GL_TESS_CONTROL_SUBROUTINE
#define GL_TESS_CONTROL_SUBROUTINE 0x92E9
#endif //GL_TESS_CONTROL_SUBROUTINE
#ifndef GL_TESS_EVALUATION_SUBROUTINE
#define GL_TESS_EVALUATION_SUBROUTINE 0x92EA
#endif //GL_TESS_EVALUATION_SUBROUTINE
#ifndef GL_GEOMETRY_SUBROUTINE
#define GL_GEOMETRY_SUBROUTINE 0x92EB
#endif //GL_GEOMETRY_SUBROUTINE
#ifndef GL_FRAGMENT_SUBROUTINE
#define GL_FRAGMENT_SUBROUTINE 0x92EC
#endif //GL_FRAGMENT_SUBROUTINE
#ifndef GL_COMPUTE_SUBROUTINE
#define GL_COMPUTE_SUBROUTINE 0x92ED
#endif //GL_COMPUTE_SUBROUTINE
#ifndef GL_VERTEX_SUBROUTINE_UNIFORM
#define GL_VERTEX_SUBROUTINE_UNIFORM 0x92EE
#endif //GL_VERTEX_SUBROUTINE_UNIFORM
#ifndef GL_TESS_CONTROL_SUBROUTINE_UNIFORM
#define GL_TESS_CONTROL_SUBROUTINE_UNIFORM 0x92EF
#endif //GL_TESS_CONTROL_SUBROUTINE_UNIFORM
#ifndef GL_TESS_EVALUATION_SUBROUTINE_UNIFORM
#define GL_TESS_EVALUATION_SUBROUTINE_UNIFORM 0x92F0
#endif //GL_TESS_EVALUATION_SUBROUTINE_UNIFORM
#ifndef GL_GEOMETRY_SUBROUTINE_UNIFORM
#define GL_GEOMETRY_SUBROUTINE_UNIFORM 0x92F1
#endif //GL_GEOMETRY_SUBROUTINE_UNIFORM
#ifndef GL_FRAGMENT_SUBROUTINE_UNIFORM
#define GL_FRAGMENT_SUBROUTINE_UNIFORM 0x92F2
#endif //GL_FRAGMENT_SUBROUTINE_UNIFORM
#ifndef GL_COMPUTE_SUBROUTINE_UNIFORM
#define GL_COMPUTE_SUBROUTINE_UNIFORM 0x92F3
#endif //GL_COMPUTE_SUBROUTINE_UNIFORM
#ifndef GL_TRANSFORM_FEEDBACK_VARYING
#define GL_TRANSFORM_FEEDBACK_VARYING 0x92F4
#endif //GL_TRANSFORM_FEEDBACK_VARYING
#ifndef GL_ACTIVE_RESOURCES
#define GL_ACTIVE_RESOURCES 0x92F5
#endif //GL_ACTIVE_RESOURCES
#ifndef GL_MAX_NAME_LENGTH
#define GL_MAX_NAME_LENGTH 0x92F6
#endif //GL_MAX_NAME_LENGTH
#ifndef GL_MAX_NUM_ACTIVE_VARIABLES
#define GL_MAX_NUM_ACTIVE_VARIABLES 0x92F7
#endif //GL_MAX_NUM_ACTIVE_VARIABLES
#ifndef GL_MAX_NUM_COMPATIBLE_SUBROUTINES
#define GL_MAX_NUM_COMPATIBLE_SUBROUTINES 0x92F8
#endif //GL_MAX_NUM_COMPATIBLE_SUBROUTINES
#ifndef GL_NAME_LENGTH
#define GL_NAME_LENGTH 0x92F9
#endif //GL_NAME_LENGTH
#ifndef GL_TYPE
#define GL_TYPE 0x92FA
#endif //GL_TYPE
#ifndef GL_ARRAY_SIZE
#define GL_ARRAY_SIZE 0x92FB
#endif //GL_ARRAY_SIZE
#ifndef GL_OFFSET
#define GL_OFFSET 0x92FC
#endif //GL_OFFSET
#ifndef GL_BLOCK_INDEX
#define GL_BLOCK_INDEX 0x92FD
#endif //GL_BLOCK_INDEX
#ifndef GL_ARRAY_STRIDE
#define GL_ARRAY_STRIDE 0x92FE
#endif //GL_ARRAY_STRIDE
#ifndef GL_MATRIX_STRIDE
#define GL_MATRIX_STRIDE 0x92FF
#endif //GL_MATRIX_STRIDE
#ifndef GL_IS_ROW_MAJOR
#define GL_IS_ROW_MAJOR 0x9300
#endif //GL_IS_ROW_MAJOR
#ifndef GL_ATOMIC_COUNTER_BUFFER_INDEX
#define GL_ATOMIC_COUNTER_BUFFER_INDEX 0x9301
#endif //GL_ATOMIC_COUNTER_BUFFER_INDEX
#ifndef GL_BUFFER_BINDING
#define GL_BUFFER_BINDING 0x9302
#endif //GL_BUFFER_BINDING
#ifndef GL_BUFFER_DATA_SIZE
#define GL_BUFFER_DATA_SIZE 0x9303
#endif //GL_BUFFER_DATA_SIZE
#ifndef GL_NUM_ACTIVE_VARIABLES
#define GL_NUM_ACTIVE_VARIABLES 0x9304
#endif //GL_NUM_ACTIVE_VARIABLES
#ifndef GL_ACTIVE_VARIABLES
#define GL_ACTIVE_VARIABLES 0x9305
#endif //GL_ACTIVE_VARIABLES
#ifndef GL_REFERENCED_BY_VERTEX_SHADER
#define GL_REFERENCED_BY_VERTEX_SHADER 0x9306
#endif //GL_REFERENCED_BY_VERTEX_SHADER
#ifndef GL_REFERENCED_BY_TESS_CONTROL_SHADER
#define GL_REFERENCED_BY_TESS_CONTROL_SHADER 0x9307
#endif //GL_REFERENCED_BY_TESS_CONTROL_SHADER
#ifndef GL_REFERENCED_BY_TESS_EVALUATION_SHADER
#define GL_REFERENCED_BY_TESS_EVALUATION_SHADER 0x9308
#endif //GL_REFERENCED_BY_TESS_EVALUATION_SHADER
#ifndef GL_REFERENCED_BY_GEOMETRY_SHADER
#define GL_REFERENCED_BY_GEOMETRY_SHADER 0x9309
#endif //GL_REFERENCED_BY_GEOMETRY_SHADER
#ifndef GL_REFERENCED_BY_FRAGMENT_SHADER
#define GL_REFERENCED_BY_FRAGMENT_SHADER 0x930A
#endif //GL_REFERENCED_BY_FRAGMENT_SHADER
#ifndef GL_REFERENCED_BY_COMPUTE_SHADER
#define GL_REFERENCED_BY_COMPUTE_SHADER 0x930B
#endif //GL_REFERENCED_BY_COMPUTE_SHADER
#ifndef GL_TOP_LEVEL_ARRAY_SIZE
#define GL_TOP_LEVEL_ARRAY_SIZE 0x930C
#endif //GL_TOP_LEVEL_ARRAY_SIZE
#ifndef GL_TOP_LEVEL_ARRAY_STRIDE
#define GL_TOP_LEVEL_ARRAY_STRIDE 0x930D
#endif //GL_TOP_LEVEL_ARRAY_STRIDE
#ifndef GL_LOCATION
#define GL_LOCATION 0x930E
#endif //GL_LOCATION
#ifndef GL_LOCATION_INDEX
#define GL_LOCATION_INDEX 0x930F
#endif //GL_LOCATION_INDEX
#ifndef GL_FRAMEBUFFER_DEFAULT_WIDTH
#define GL_FRAMEBUFFER_DEFAULT_WIDTH 0x9310
#endif //GL_FRAMEBUFFER_DEFAULT_WIDTH
#ifndef GL_FRAMEBUFFER_DEFAULT_HEIGHT
#define GL_FRAMEBUFFER_DEFAULT_HEIGHT 0x9311
#endif //GL_FRAMEBUFFER_DEFAULT_HEIGHT
#ifndef GL_FRAMEBUFFER_DEFAULT_LAYERS
#define GL_FRAMEBUFFER_DEFAULT_LAYERS 0x9312
#endif //GL_FRAMEBUFFER_DEFAULT_LAYERS
#ifndef GL_FRAMEBUFFER_DEFAULT_SAMPLES
#define GL_FRAMEBUFFER_DEFAULT_SAMPLES 0x9313
#endif //GL_FRAMEBUFFER_DEFAULT_SAMPLES
#ifndef GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS
#define GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS 0x9314
#endif //GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS
#ifndef GL_MAX_FRAMEBUFFER_WIDTH
#define GL_MAX_FRAMEBUFFER_WIDTH 0x9315
#endif //GL_MAX_FRAMEBUFFER_WIDTH
#ifndef GL_MAX_FRAMEBUFFER_HEIGHT
#define GL_MAX_FRAMEBUFFER_HEIGHT 0x9316
#endif //GL_MAX_FRAMEBUFFER_HEIGHT
#ifndef GL_MAX_FRAMEBUFFER_LAYERS
#define GL_MAX_FRAMEBUFFER_LAYERS 0x9317
#endif //GL_MAX_FRAMEBUFFER_LAYERS
#ifndef GL_MAX_FRAMEBUFFER_SAMPLES
#define GL_MAX_FRAMEBUFFER_SAMPLES 0x9318
#endif //GL_MAX_FRAMEBUFFER_SAMPLES
#ifndef GL_NUM_SAMPLE_COUNTS
#define GL_NUM_SAMPLE_COUNTS 0x9380
#endif //GL_NUM_SAMPLE_COUNTS
#ifndef GL_ALL_BARRIER_BITS
#define GL_ALL_BARRIER_BITS 0xFFFFFFFF
#endif //GL_ALL_BARRIER_BITS
#ifndef GL_ALL_SHADER_BITS
#define GL_ALL_SHADER_BITS 0xFFFFFFFF
#endif //GL_ALL_SHADER_BITS
#ifndef GL_INVALID_INDEX
#define GL_INVALID_INDEX 0xFFFFFFFF
#endif //GL_INVALID_INDEX
#ifndef GL_TIMEOUT_IGNORED
#define GL_TIMEOUT_IGNORED 0xFFFFFFFFFFFFFFFF
#endif //GL_TIMEOUT_IGNORED
#ifndef GL_ONE
#define GL_ONE 1
#endif //GL_ONE
#ifndef GL_TRUE
#define GL_TRUE 1
#endif //GL_TRUE
extern "C" {
extern void glBindTexture(GLenum,GLuint);
extern void glBlendFunc(GLenum,GLenum);
extern void glClear(GLbitfield);
extern void glClearColor(GLfloat,GLfloat,GLfloat,GLfloat);
extern void glClearDepth(GLdouble);
extern void glClearStencil(GLint);
extern void glColorMask(GLboolean,GLboolean,GLboolean,GLboolean);
extern void glCopyTexImage1D(GLenum,GLint,GLenum,GLint,GLint,GLsizei,GLint);
extern void glCopyTexImage2D(GLenum,GLint,GLenum,GLint,GLint,GLsizei,GLsizei,GLint);
extern void glCopyTexSubImage1D(GLenum,GLint,GLint,GLint,GLint,GLsizei);
extern void glCopyTexSubImage2D(GLenum,GLint,GLint,GLint,GLint,GLint,GLsizei,GLsizei);
extern void glCullFace(GLenum);
extern void glDeleteTextures(GLsizei,const GLuint *);
extern void glDepthFunc(GLenum);
extern void glDepthMask(GLboolean);
extern void glDepthRange(GLdouble,GLdouble);
extern void glDisable(GLenum);
extern void glDrawArrays(GLenum,GLint,GLsizei);
extern void glDrawBuffer(GLenum);
extern void glDrawElements(GLenum,GLsizei,GLenum,const void *);
extern void glEnable(GLenum);
extern void glFinish();
extern void glFlush();
extern void glFrontFace(GLenum);
extern void glGenTextures(GLsizei,GLuint *);
extern void glGetBooleanv(GLenum,GLboolean *);
extern void glGetDoublev(GLenum,GLdouble *);
extern GLenum glGetError();
extern void glGetFloatv(GLenum,GLfloat *);
extern void glGetIntegerv(GLenum,GLint *);
extern const GLubyte * glGetString(GLenum);
extern void glGetTexImage(GLenum,GLint,GLenum,GLenum,void *);
extern void glGetTexLevelParameterfv(GLenum,GLint,GLenum,GLfloat *);
extern void glGetTexLevelParameteriv(GLenum,GLint,GLenum,GLint *);
extern void glGetTexParameterfv(GLenum,GLenum,GLfloat *);
extern void glGetTexParameteriv(GLenum,GLenum,GLint *);
extern void glHint(GLenum,GLenum);
extern GLboolean glIsEnabled(GLenum);
extern GLboolean glIsTexture(GLuint);
extern void glLineWidth(GLfloat);
extern void glLogicOp(GLenum);
extern void glPixelStoref(GLenum,GLfloat);
extern void glPixelStorei(GLenum,GLint);
extern void glPointSize(GLfloat);
extern void glPolygonMode(GLenum,GLenum);
extern void glPolygonOffset(GLfloat,GLfloat);
extern void glReadBuffer(GLenum);
extern void glReadPixels(GLint,GLint,GLsizei,GLsizei,GLenum,GLenum,void *);
extern void glScissor(GLint,GLint,GLsizei,GLsizei);
extern void glStencilFunc(GLenum,GLint,GLuint);
extern void glStencilMask(GLuint);
extern void glStencilOp(GLenum,GLenum,GLenum);
extern void glTexImage1D(GLenum,GLint,GLint,GLsizei,GLint,GLenum,GLenum,const void *);
extern void glTexImage2D(GLenum,GLint,GLint,GLsizei,GLsizei,GLint,GLenum,GLenum,const void *);
extern void glTexParameterf(GLenum,GLenum,GLfloat);
extern void glTexParameterfv(GLenum,GLenum,const GLfloat *);
extern void glTexParameteri(GLenum,GLenum,GLint);
extern void glTexParameteriv(GLenum,GLenum,const GLint *);
extern void glTexSubImage1D(GLenum,GLint,GLint,GLsizei,GLenum,GLenum,const void *);
extern void glTexSubImage2D(GLenum,GLint,GLint,GLint,GLsizei,GLsizei,GLenum,GLenum,const void *);
extern void glViewport(GLint,GLint,GLsizei,GLsizei);
}
namespace gl{

typedef void (*PFNGLACTIVESHADERPROGRAMPROC_HPP)(GLuint,GLuint);
static inline void ActiveShaderProgram(GLuint pipeline1,GLuint program1)
{
	static PFNGLACTIVESHADERPROGRAMPROC_HPP fn=reinterpret_cast<PFNGLACTIVESHADERPROGRAMPROC_HPP>(_impl::_get_proc_address("glActiveShaderProgram",4,3));
	 fn(pipeline1,program1);
}
typedef void (*PFNGLACTIVETEXTUREPROC_HPP)(GLenum);
static inline void ActiveTexture(GLenum texture1)
{
	static PFNGLACTIVETEXTUREPROC_HPP fn=reinterpret_cast<PFNGLACTIVETEXTUREPROC_HPP>(_impl::_get_proc_address("glActiveTexture",4,3));
	 fn(texture1);
}
typedef void (*PFNGLATTACHSHADERPROC_HPP)(GLuint,GLuint);
static inline void AttachShader(GLuint program1,GLuint shader1)
{
	static PFNGLATTACHSHADERPROC_HPP fn=reinterpret_cast<PFNGLATTACHSHADERPROC_HPP>(_impl::_get_proc_address("glAttachShader",4,3));
	 fn(program1,shader1);
}
typedef void (*PFNGLBEGINCONDITIONALRENDERPROC_HPP)(GLuint,GLenum);
static inline void BeginConditionalRender(GLuint id1,GLenum mode1)
{
	static PFNGLBEGINCONDITIONALRENDERPROC_HPP fn=reinterpret_cast<PFNGLBEGINCONDITIONALRENDERPROC_HPP>(_impl::_get_proc_address("glBeginConditionalRender",4,3));
	 fn(id1,mode1);
}
typedef void (*PFNGLBEGINQUERYPROC_HPP)(GLenum,GLuint);
static inline void BeginQuery(GLenum target1,GLuint id1)
{
	static PFNGLBEGINQUERYPROC_HPP fn=reinterpret_cast<PFNGLBEGINQUERYPROC_HPP>(_impl::_get_proc_address("glBeginQuery",4,3));
	 fn(target1,id1);
}
typedef void (*PFNGLBEGINQUERYINDEXEDPROC_HPP)(GLenum,GLuint,GLuint);
static inline void BeginQueryIndexed(GLenum target1,GLuint index1,GLuint id1)
{
	static PFNGLBEGINQUERYINDEXEDPROC_HPP fn=reinterpret_cast<PFNGLBEGINQUERYINDEXEDPROC_HPP>(_impl::_get_proc_address("glBeginQueryIndexed",4,3));
	 fn(target1,index1,id1);
}
typedef void (*PFNGLBEGINTRANSFORMFEEDBACKPROC_HPP)(GLenum);
static inline void BeginTransformFeedback(GLenum primitiveMode1)
{
	static PFNGLBEGINTRANSFORMFEEDBACKPROC_HPP fn=reinterpret_cast<PFNGLBEGINTRANSFORMFEEDBACKPROC_HPP>(_impl::_get_proc_address("glBeginTransformFeedback",4,3));
	 fn(primitiveMode1);
}
typedef void (*PFNGLBINDATTRIBLOCATIONPROC_HPP)(GLuint,GLuint,const GLchar *);
static inline void BindAttribLocation(GLuint program1,GLuint index1,const GLchar * name1)
{
	static PFNGLBINDATTRIBLOCATIONPROC_HPP fn=reinterpret_cast<PFNGLBINDATTRIBLOCATIONPROC_HPP>(_impl::_get_proc_address("glBindAttribLocation",4,3));
	 fn(program1,index1,name1);
}
typedef void (*PFNGLBINDBUFFERPROC_HPP)(GLenum,GLuint);
static inline void BindBuffer(GLenum target1,GLuint buffer1)
{
	static PFNGLBINDBUFFERPROC_HPP fn=reinterpret_cast<PFNGLBINDBUFFERPROC_HPP>(_impl::_get_proc_address("glBindBuffer",4,3));
	 fn(target1,buffer1);
}
typedef void (*PFNGLBINDBUFFERBASEPROC_HPP)(GLenum,GLuint,GLuint);
static inline void BindBufferBase(GLenum target1,GLuint index1,GLuint buffer1)
{
	static PFNGLBINDBUFFERBASEPROC_HPP fn=reinterpret_cast<PFNGLBINDBUFFERBASEPROC_HPP>(_impl::_get_proc_address("glBindBufferBase",4,3));
	 fn(target1,index1,buffer1);
}
typedef void (*PFNGLBINDBUFFERRANGEPROC_HPP)(GLenum,GLuint,GLuint,GLintptr,GLsizeiptr);
static inline void BindBufferRange(GLenum target1,GLuint index1,GLuint buffer1,GLintptr offset1,GLsizeiptr size1)
{
	static PFNGLBINDBUFFERRANGEPROC_HPP fn=reinterpret_cast<PFNGLBINDBUFFERRANGEPROC_HPP>(_impl::_get_proc_address("glBindBufferRange",4,3));
	 fn(target1,index1,buffer1,offset1,size1);
}
typedef void (*PFNGLBINDFRAGDATALOCATIONPROC_HPP)(GLuint,GLuint,const GLchar *);
static inline void BindFragDataLocation(GLuint program1,GLuint color1,const GLchar * name1)
{
	static PFNGLBINDFRAGDATALOCATIONPROC_HPP fn=reinterpret_cast<PFNGLBINDFRAGDATALOCATIONPROC_HPP>(_impl::_get_proc_address("glBindFragDataLocation",4,3));
	 fn(program1,color1,name1);
}
typedef void (*PFNGLBINDFRAGDATALOCATIONINDEXEDPROC_HPP)(GLuint,GLuint,GLuint,const GLchar *);
static inline void BindFragDataLocationIndexed(GLuint program1,GLuint colorNumber1,GLuint index1,const GLchar * name1)
{
	static PFNGLBINDFRAGDATALOCATIONINDEXEDPROC_HPP fn=reinterpret_cast<PFNGLBINDFRAGDATALOCATIONINDEXEDPROC_HPP>(_impl::_get_proc_address("glBindFragDataLocationIndexed",4,3));
	 fn(program1,colorNumber1,index1,name1);
}
typedef void (*PFNGLBINDFRAMEBUFFERPROC_HPP)(GLenum,GLuint);
static inline void BindFramebuffer(GLenum target1,GLuint framebuffer1)
{
	static PFNGLBINDFRAMEBUFFERPROC_HPP fn=reinterpret_cast<PFNGLBINDFRAMEBUFFERPROC_HPP>(_impl::_get_proc_address("glBindFramebuffer",4,3));
	 fn(target1,framebuffer1);
}
typedef void (*PFNGLBINDIMAGETEXTUREPROC_HPP)(GLuint,GLuint,GLint,GLboolean,GLint,GLenum,GLenum);
static inline void BindImageTexture(GLuint unit1,GLuint texture1,GLint level1,GLboolean layered1,GLint layer1,GLenum access1,GLenum format1)
{
	static PFNGLBINDIMAGETEXTUREPROC_HPP fn=reinterpret_cast<PFNGLBINDIMAGETEXTUREPROC_HPP>(_impl::_get_proc_address("glBindImageTexture",4,3));
	 fn(unit1,texture1,level1,layered1,layer1,access1,format1);
}
typedef void (*PFNGLBINDPROGRAMPIPELINEPROC_HPP)(GLuint);
static inline void BindProgramPipeline(GLuint pipeline1)
{
	static PFNGLBINDPROGRAMPIPELINEPROC_HPP fn=reinterpret_cast<PFNGLBINDPROGRAMPIPELINEPROC_HPP>(_impl::_get_proc_address("glBindProgramPipeline",4,3));
	 fn(pipeline1);
}
typedef void (*PFNGLBINDRENDERBUFFERPROC_HPP)(GLenum,GLuint);
static inline void BindRenderbuffer(GLenum target1,GLuint renderbuffer1)
{
	static PFNGLBINDRENDERBUFFERPROC_HPP fn=reinterpret_cast<PFNGLBINDRENDERBUFFERPROC_HPP>(_impl::_get_proc_address("glBindRenderbuffer",4,3));
	 fn(target1,renderbuffer1);
}
typedef void (*PFNGLBINDSAMPLERPROC_HPP)(GLuint,GLuint);
static inline void BindSampler(GLuint unit1,GLuint sampler1)
{
	static PFNGLBINDSAMPLERPROC_HPP fn=reinterpret_cast<PFNGLBINDSAMPLERPROC_HPP>(_impl::_get_proc_address("glBindSampler",4,3));
	 fn(unit1,sampler1);
}
static inline void BindTexture(GLenum target1,GLuint texture1)
{
	 glBindTexture(target1,texture1);
}
typedef void (*PFNGLBINDTRANSFORMFEEDBACKPROC_HPP)(GLenum,GLuint);
static inline void BindTransformFeedback(GLenum target1,GLuint id1)
{
	static PFNGLBINDTRANSFORMFEEDBACKPROC_HPP fn=reinterpret_cast<PFNGLBINDTRANSFORMFEEDBACKPROC_HPP>(_impl::_get_proc_address("glBindTransformFeedback",4,3));
	 fn(target1,id1);
}
typedef void (*PFNGLBINDVERTEXARRAYPROC_HPP)(GLuint);
static inline void BindVertexArray(GLuint array1)
{
	static PFNGLBINDVERTEXARRAYPROC_HPP fn=reinterpret_cast<PFNGLBINDVERTEXARRAYPROC_HPP>(_impl::_get_proc_address("glBindVertexArray",4,3));
	 fn(array1);
}
typedef void (*PFNGLBINDVERTEXBUFFERPROC_HPP)(GLuint,GLuint,GLintptr,GLsizei);
static inline void BindVertexBuffer(GLuint bindingindex1,GLuint buffer1,GLintptr offset1,GLsizei stride1)
{
	static PFNGLBINDVERTEXBUFFERPROC_HPP fn=reinterpret_cast<PFNGLBINDVERTEXBUFFERPROC_HPP>(_impl::_get_proc_address("glBindVertexBuffer",4,3));
	 fn(bindingindex1,buffer1,offset1,stride1);
}
typedef void (*PFNGLBLENDCOLORPROC_HPP)(GLfloat,GLfloat,GLfloat,GLfloat);
static inline void BlendColor(GLfloat red1,GLfloat green1,GLfloat blue1,GLfloat alpha1)
{
	static PFNGLBLENDCOLORPROC_HPP fn=reinterpret_cast<PFNGLBLENDCOLORPROC_HPP>(_impl::_get_proc_address("glBlendColor",4,3));
	 fn(red1,green1,blue1,alpha1);
}
typedef void (*PFNGLBLENDEQUATIONPROC_HPP)(GLenum);
static inline void BlendEquation(GLenum mode1)
{
	static PFNGLBLENDEQUATIONPROC_HPP fn=reinterpret_cast<PFNGLBLENDEQUATIONPROC_HPP>(_impl::_get_proc_address("glBlendEquation",4,3));
	 fn(mode1);
}
typedef void (*PFNGLBLENDEQUATIONSEPARATEPROC_HPP)(GLenum,GLenum);
static inline void BlendEquationSeparate(GLenum modeRGB1,GLenum modeAlpha1)
{
	static PFNGLBLENDEQUATIONSEPARATEPROC_HPP fn=reinterpret_cast<PFNGLBLENDEQUATIONSEPARATEPROC_HPP>(_impl::_get_proc_address("glBlendEquationSeparate",4,3));
	 fn(modeRGB1,modeAlpha1);
}
typedef void (*PFNGLBLENDEQUATIONSEPARATEIPROC_HPP)(GLuint,GLenum,GLenum);
static inline void BlendEquationSeparatei(GLuint buf1,GLenum modeRGB1,GLenum modeAlpha1)
{
	static PFNGLBLENDEQUATIONSEPARATEIPROC_HPP fn=reinterpret_cast<PFNGLBLENDEQUATIONSEPARATEIPROC_HPP>(_impl::_get_proc_address("glBlendEquationSeparatei",4,3));
	 fn(buf1,modeRGB1,modeAlpha1);
}
typedef void (*PFNGLBLENDEQUATIONIPROC_HPP)(GLuint,GLenum);
static inline void BlendEquationi(GLuint buf1,GLenum mode1)
{
	static PFNGLBLENDEQUATIONIPROC_HPP fn=reinterpret_cast<PFNGLBLENDEQUATIONIPROC_HPP>(_impl::_get_proc_address("glBlendEquationi",4,3));
	 fn(buf1,mode1);
}
static inline void BlendFunc(GLenum sfactor1,GLenum dfactor1)
{
	 glBlendFunc(sfactor1,dfactor1);
}
typedef void (*PFNGLBLENDFUNCSEPARATEPROC_HPP)(GLenum,GLenum,GLenum,GLenum);
static inline void BlendFuncSeparate(GLenum sfactorRGB1,GLenum dfactorRGB1,GLenum sfactorAlpha1,GLenum dfactorAlpha1)
{
	static PFNGLBLENDFUNCSEPARATEPROC_HPP fn=reinterpret_cast<PFNGLBLENDFUNCSEPARATEPROC_HPP>(_impl::_get_proc_address("glBlendFuncSeparate",4,3));
	 fn(sfactorRGB1,dfactorRGB1,sfactorAlpha1,dfactorAlpha1);
}
typedef void (*PFNGLBLENDFUNCSEPARATEIPROC_HPP)(GLuint,GLenum,GLenum,GLenum,GLenum);
static inline void BlendFuncSeparatei(GLuint buf1,GLenum srcRGB1,GLenum dstRGB1,GLenum srcAlpha1,GLenum dstAlpha1)
{
	static PFNGLBLENDFUNCSEPARATEIPROC_HPP fn=reinterpret_cast<PFNGLBLENDFUNCSEPARATEIPROC_HPP>(_impl::_get_proc_address("glBlendFuncSeparatei",4,3));
	 fn(buf1,srcRGB1,dstRGB1,srcAlpha1,dstAlpha1);
}
typedef void (*PFNGLBLENDFUNCIPROC_HPP)(GLuint,GLenum,GLenum);
static inline void BlendFunci(GLuint buf1,GLenum src1,GLenum dst1)
{
	static PFNGLBLENDFUNCIPROC_HPP fn=reinterpret_cast<PFNGLBLENDFUNCIPROC_HPP>(_impl::_get_proc_address("glBlendFunci",4,3));
	 fn(buf1,src1,dst1);
}
typedef void (*PFNGLBLITFRAMEBUFFERPROC_HPP)(GLint,GLint,GLint,GLint,GLint,GLint,GLint,GLint,GLbitfield,GLenum);
static inline void BlitFramebuffer(GLint srcX01,GLint srcY01,GLint srcX11,GLint srcY11,GLint dstX01,GLint dstY01,GLint dstX11,GLint dstY11,GLbitfield mask1,GLenum filter1)
{
	static PFNGLBLITFRAMEBUFFERPROC_HPP fn=reinterpret_cast<PFNGLBLITFRAMEBUFFERPROC_HPP>(_impl::_get_proc_address("glBlitFramebuffer",4,3));
	 fn(srcX01,srcY01,srcX11,srcY11,dstX01,dstY01,dstX11,dstY11,mask1,filter1);
}
typedef void (*PFNGLBUFFERDATAPROC_HPP)(GLenum,GLsizeiptr,const void *,GLenum);
static inline void BufferData(GLenum target1,GLsizeiptr size1,const void * data1,GLenum usage1)
{
	static PFNGLBUFFERDATAPROC_HPP fn=reinterpret_cast<PFNGLBUFFERDATAPROC_HPP>(_impl::_get_proc_address("glBufferData",4,3));
	 fn(target1,size1,data1,usage1);
}
typedef void (*PFNGLBUFFERSUBDATAPROC_HPP)(GLenum,GLintptr,GLsizeiptr,const void *);
static inline void BufferSubData(GLenum target1,GLintptr offset1,GLsizeiptr size1,const void * data1)
{
	static PFNGLBUFFERSUBDATAPROC_HPP fn=reinterpret_cast<PFNGLBUFFERSUBDATAPROC_HPP>(_impl::_get_proc_address("glBufferSubData",4,3));
	 fn(target1,offset1,size1,data1);
}
typedef GLenum (*PFNGLCHECKFRAMEBUFFERSTATUSPROC_HPP)(GLenum);
static inline GLenum CheckFramebufferStatus(GLenum target1)
{
	static PFNGLCHECKFRAMEBUFFERSTATUSPROC_HPP fn=reinterpret_cast<PFNGLCHECKFRAMEBUFFERSTATUSPROC_HPP>(_impl::_get_proc_address("glCheckFramebufferStatus",4,3));
	return fn(target1);
}
typedef void (*PFNGLCLAMPCOLORPROC_HPP)(GLenum,GLenum);
static inline void ClampColor(GLenum target1,GLenum clamp1)
{
	static PFNGLCLAMPCOLORPROC_HPP fn=reinterpret_cast<PFNGLCLAMPCOLORPROC_HPP>(_impl::_get_proc_address("glClampColor",4,3));
	 fn(target1,clamp1);
}
static inline void Clear(GLbitfield mask1)
{
	 glClear(mask1);
}
typedef void (*PFNGLCLEARBUFFERDATAPROC_HPP)(GLenum,GLenum,GLenum,GLenum,const void *);
static inline void ClearBufferData(GLenum target1,GLenum internalformat1,GLenum format1,GLenum type1,const void * data1)
{
	static PFNGLCLEARBUFFERDATAPROC_HPP fn=reinterpret_cast<PFNGLCLEARBUFFERDATAPROC_HPP>(_impl::_get_proc_address("glClearBufferData",4,3));
	 fn(target1,internalformat1,format1,type1,data1);
}
typedef void (*PFNGLCLEARBUFFERSUBDATAPROC_HPP)(GLenum,GLenum,GLintptr,GLsizeiptr,GLenum,GLenum,const void *);
static inline void ClearBufferSubData(GLenum target1,GLenum internalformat1,GLintptr offset1,GLsizeiptr size1,GLenum format1,GLenum type1,const void * data1)
{
	static PFNGLCLEARBUFFERSUBDATAPROC_HPP fn=reinterpret_cast<PFNGLCLEARBUFFERSUBDATAPROC_HPP>(_impl::_get_proc_address("glClearBufferSubData",4,3));
	 fn(target1,internalformat1,offset1,size1,format1,type1,data1);
}
typedef void (*PFNGLCLEARBUFFERFIPROC_HPP)(GLenum,GLint,GLfloat,GLint);
static inline void ClearBufferfi(GLenum buffer1,GLint drawbuffer1,GLfloat depth1,GLint stencil1)
{
	static PFNGLCLEARBUFFERFIPROC_HPP fn=reinterpret_cast<PFNGLCLEARBUFFERFIPROC_HPP>(_impl::_get_proc_address("glClearBufferfi",4,3));
	 fn(buffer1,drawbuffer1,depth1,stencil1);
}
typedef void (*PFNGLCLEARBUFFERFVPROC_HPP)(GLenum,GLint,const GLfloat *);
static inline void ClearBufferfv(GLenum buffer1,GLint drawbuffer1,const GLfloat * value1)
{
	static PFNGLCLEARBUFFERFVPROC_HPP fn=reinterpret_cast<PFNGLCLEARBUFFERFVPROC_HPP>(_impl::_get_proc_address("glClearBufferfv",4,3));
	 fn(buffer1,drawbuffer1,value1);
}
typedef void (*PFNGLCLEARBUFFERIVPROC_HPP)(GLenum,GLint,const GLint *);
static inline void ClearBufferiv(GLenum buffer1,GLint drawbuffer1,const GLint * value1)
{
	static PFNGLCLEARBUFFERIVPROC_HPP fn=reinterpret_cast<PFNGLCLEARBUFFERIVPROC_HPP>(_impl::_get_proc_address("glClearBufferiv",4,3));
	 fn(buffer1,drawbuffer1,value1);
}
typedef void (*PFNGLCLEARBUFFERUIVPROC_HPP)(GLenum,GLint,const GLuint *);
static inline void ClearBufferuiv(GLenum buffer1,GLint drawbuffer1,const GLuint * value1)
{
	static PFNGLCLEARBUFFERUIVPROC_HPP fn=reinterpret_cast<PFNGLCLEARBUFFERUIVPROC_HPP>(_impl::_get_proc_address("glClearBufferuiv",4,3));
	 fn(buffer1,drawbuffer1,value1);
}
static inline void ClearColor(GLfloat red1,GLfloat green1,GLfloat blue1,GLfloat alpha1)
{
	 glClearColor(red1,green1,blue1,alpha1);
}
static inline void ClearDepth(GLdouble depth1)
{
	 glClearDepth(depth1);
}
typedef void (*PFNGLCLEARDEPTHFPROC_HPP)(GLfloat);
static inline void ClearDepthf(GLfloat d1)
{
	static PFNGLCLEARDEPTHFPROC_HPP fn=reinterpret_cast<PFNGLCLEARDEPTHFPROC_HPP>(_impl::_get_proc_address("glClearDepthf",4,3));
	 fn(d1);
}
static inline void ClearStencil(GLint s1)
{
	 glClearStencil(s1);
}
typedef GLenum (*PFNGLCLIENTWAITSYNCPROC_HPP)(GLsync,GLbitfield,GLuint64);
static inline GLenum ClientWaitSync(GLsync sync1,GLbitfield flags1,GLuint64 timeout1)
{
	static PFNGLCLIENTWAITSYNCPROC_HPP fn=reinterpret_cast<PFNGLCLIENTWAITSYNCPROC_HPP>(_impl::_get_proc_address("glClientWaitSync",4,3));
	return fn(sync1,flags1,timeout1);
}
static inline void ColorMask(GLboolean red1,GLboolean green1,GLboolean blue1,GLboolean alpha1)
{
	 glColorMask(red1,green1,blue1,alpha1);
}
typedef void (*PFNGLCOLORMASKIPROC_HPP)(GLuint,GLboolean,GLboolean,GLboolean,GLboolean);
static inline void ColorMaski(GLuint index1,GLboolean r1,GLboolean g1,GLboolean b1,GLboolean a1)
{
	static PFNGLCOLORMASKIPROC_HPP fn=reinterpret_cast<PFNGLCOLORMASKIPROC_HPP>(_impl::_get_proc_address("glColorMaski",4,3));
	 fn(index1,r1,g1,b1,a1);
}
typedef void (*PFNGLCOMPILESHADERPROC_HPP)(GLuint);
static inline void CompileShader(GLuint shader1)
{
	static PFNGLCOMPILESHADERPROC_HPP fn=reinterpret_cast<PFNGLCOMPILESHADERPROC_HPP>(_impl::_get_proc_address("glCompileShader",4,3));
	 fn(shader1);
}
typedef void (*PFNGLCOMPRESSEDTEXIMAGE1DPROC_HPP)(GLenum,GLint,GLenum,GLsizei,GLint,GLsizei,const void *);
static inline void CompressedTexImage1D(GLenum target1,GLint level1,GLenum internalformat1,GLsizei width1,GLint border1,GLsizei imageSize1,const void * data1)
{
	static PFNGLCOMPRESSEDTEXIMAGE1DPROC_HPP fn=reinterpret_cast<PFNGLCOMPRESSEDTEXIMAGE1DPROC_HPP>(_impl::_get_proc_address("glCompressedTexImage1D",4,3));
	 fn(target1,level1,internalformat1,width1,border1,imageSize1,data1);
}
typedef void (*PFNGLCOMPRESSEDTEXIMAGE2DPROC_HPP)(GLenum,GLint,GLenum,GLsizei,GLsizei,GLint,GLsizei,const void *);
static inline void CompressedTexImage2D(GLenum target1,GLint level1,GLenum internalformat1,GLsizei width1,GLsizei height1,GLint border1,GLsizei imageSize1,const void * data1)
{
	static PFNGLCOMPRESSEDTEXIMAGE2DPROC_HPP fn=reinterpret_cast<PFNGLCOMPRESSEDTEXIMAGE2DPROC_HPP>(_impl::_get_proc_address("glCompressedTexImage2D",4,3));
	 fn(target1,level1,internalformat1,width1,height1,border1,imageSize1,data1);
}
typedef void (*PFNGLCOMPRESSEDTEXIMAGE3DPROC_HPP)(GLenum,GLint,GLenum,GLsizei,GLsizei,GLsizei,GLint,GLsizei,const void *);
static inline void CompressedTexImage3D(GLenum target1,GLint level1,GLenum internalformat1,GLsizei width1,GLsizei height1,GLsizei depth1,GLint border1,GLsizei imageSize1,const void * data1)
{
	static PFNGLCOMPRESSEDTEXIMAGE3DPROC_HPP fn=reinterpret_cast<PFNGLCOMPRESSEDTEXIMAGE3DPROC_HPP>(_impl::_get_proc_address("glCompressedTexImage3D",4,3));
	 fn(target1,level1,internalformat1,width1,height1,depth1,border1,imageSize1,data1);
}
typedef void (*PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC_HPP)(GLenum,GLint,GLint,GLsizei,GLenum,GLsizei,const void *);
static inline void CompressedTexSubImage1D(GLenum target1,GLint level1,GLint xoffset1,GLsizei width1,GLenum format1,GLsizei imageSize1,const void * data1)
{
	static PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC_HPP fn=reinterpret_cast<PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC_HPP>(_impl::_get_proc_address("glCompressedTexSubImage1D",4,3));
	 fn(target1,level1,xoffset1,width1,format1,imageSize1,data1);
}
typedef void (*PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC_HPP)(GLenum,GLint,GLint,GLint,GLsizei,GLsizei,GLenum,GLsizei,const void *);
static inline void CompressedTexSubImage2D(GLenum target1,GLint level1,GLint xoffset1,GLint yoffset1,GLsizei width1,GLsizei height1,GLenum format1,GLsizei imageSize1,const void * data1)
{
	static PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC_HPP fn=reinterpret_cast<PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC_HPP>(_impl::_get_proc_address("glCompressedTexSubImage2D",4,3));
	 fn(target1,level1,xoffset1,yoffset1,width1,height1,format1,imageSize1,data1);
}
typedef void (*PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC_HPP)(GLenum,GLint,GLint,GLint,GLint,GLsizei,GLsizei,GLsizei,GLenum,GLsizei,const void *);
static inline void CompressedTexSubImage3D(GLenum target1,GLint level1,GLint xoffset1,GLint yoffset1,GLint zoffset1,GLsizei width1,GLsizei height1,GLsizei depth1,GLenum format1,GLsizei imageSize1,const void * data1)
{
	static PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC_HPP fn=reinterpret_cast<PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC_HPP>(_impl::_get_proc_address("glCompressedTexSubImage3D",4,3));
	 fn(target1,level1,xoffset1,yoffset1,zoffset1,width1,height1,depth1,format1,imageSize1,data1);
}
typedef void (*PFNGLCOPYBUFFERSUBDATAPROC_HPP)(GLenum,GLenum,GLintptr,GLintptr,GLsizeiptr);
static inline void CopyBufferSubData(GLenum readTarget1,GLenum writeTarget1,GLintptr readOffset1,GLintptr writeOffset1,GLsizeiptr size1)
{
	static PFNGLCOPYBUFFERSUBDATAPROC_HPP fn=reinterpret_cast<PFNGLCOPYBUFFERSUBDATAPROC_HPP>(_impl::_get_proc_address("glCopyBufferSubData",4,3));
	 fn(readTarget1,writeTarget1,readOffset1,writeOffset1,size1);
}
typedef void (*PFNGLCOPYIMAGESUBDATAPROC_HPP)(GLuint,GLenum,GLint,GLint,GLint,GLint,GLuint,GLenum,GLint,GLint,GLint,GLint,GLsizei,GLsizei,GLsizei);
static inline void CopyImageSubData(GLuint srcName1,GLenum srcTarget1,GLint srcLevel1,GLint srcX1,GLint srcY1,GLint srcZ1,GLuint dstName1,GLenum dstTarget1,GLint dstLevel1,GLint dstX1,GLint dstY1,GLint dstZ1,GLsizei srcWidth1,GLsizei srcHeight1,GLsizei srcDepth1)
{
	static PFNGLCOPYIMAGESUBDATAPROC_HPP fn=reinterpret_cast<PFNGLCOPYIMAGESUBDATAPROC_HPP>(_impl::_get_proc_address("glCopyImageSubData",4,3));
	 fn(srcName1,srcTarget1,srcLevel1,srcX1,srcY1,srcZ1,dstName1,dstTarget1,dstLevel1,dstX1,dstY1,dstZ1,srcWidth1,srcHeight1,srcDepth1);
}
static inline void CopyTexImage1D(GLenum target1,GLint level1,GLenum internalformat1,GLint x1,GLint y1,GLsizei width1,GLint border1)
{
	 glCopyTexImage1D(target1,level1,internalformat1,x1,y1,width1,border1);
}
static inline void CopyTexImage2D(GLenum target1,GLint level1,GLenum internalformat1,GLint x1,GLint y1,GLsizei width1,GLsizei height1,GLint border1)
{
	 glCopyTexImage2D(target1,level1,internalformat1,x1,y1,width1,height1,border1);
}
static inline void CopyTexSubImage1D(GLenum target1,GLint level1,GLint xoffset1,GLint x1,GLint y1,GLsizei width1)
{
	 glCopyTexSubImage1D(target1,level1,xoffset1,x1,y1,width1);
}
static inline void CopyTexSubImage2D(GLenum target1,GLint level1,GLint xoffset1,GLint yoffset1,GLint x1,GLint y1,GLsizei width1,GLsizei height1)
{
	 glCopyTexSubImage2D(target1,level1,xoffset1,yoffset1,x1,y1,width1,height1);
}
typedef void (*PFNGLCOPYTEXSUBIMAGE3DPROC_HPP)(GLenum,GLint,GLint,GLint,GLint,GLint,GLint,GLsizei,GLsizei);
static inline void CopyTexSubImage3D(GLenum target1,GLint level1,GLint xoffset1,GLint yoffset1,GLint zoffset1,GLint x1,GLint y1,GLsizei width1,GLsizei height1)
{
	static PFNGLCOPYTEXSUBIMAGE3DPROC_HPP fn=reinterpret_cast<PFNGLCOPYTEXSUBIMAGE3DPROC_HPP>(_impl::_get_proc_address("glCopyTexSubImage3D",4,3));
	 fn(target1,level1,xoffset1,yoffset1,zoffset1,x1,y1,width1,height1);
}
typedef GLuint (*PFNGLCREATEPROGRAMPROC_HPP)();
static inline GLuint CreateProgram()
{
	static PFNGLCREATEPROGRAMPROC_HPP fn=reinterpret_cast<PFNGLCREATEPROGRAMPROC_HPP>(_impl::_get_proc_address("glCreateProgram",4,3));
	return fn();
}
typedef GLuint (*PFNGLCREATESHADERPROC_HPP)(GLenum);
static inline GLuint CreateShader(GLenum type1)
{
	static PFNGLCREATESHADERPROC_HPP fn=reinterpret_cast<PFNGLCREATESHADERPROC_HPP>(_impl::_get_proc_address("glCreateShader",4,3));
	return fn(type1);
}
typedef GLuint (*PFNGLCREATESHADERPROGRAMVPROC_HPP)(GLenum,GLsizei,const GLchar *const*);
static inline GLuint CreateShaderProgramv(GLenum type1,GLsizei count1,const GLchar *const* strings1)
{
	static PFNGLCREATESHADERPROGRAMVPROC_HPP fn=reinterpret_cast<PFNGLCREATESHADERPROGRAMVPROC_HPP>(_impl::_get_proc_address("glCreateShaderProgramv",4,3));
	return fn(type1,count1,strings1);
}
static inline void CullFace(GLenum mode1)
{
	 glCullFace(mode1);
}
typedef void (*PFNGLDEBUGMESSAGECALLBACKPROC_HPP)(GLDEBUGPROC,const void *);
static inline void DebugMessageCallback(GLDEBUGPROC callback1,const void * userParam1)
{
	static PFNGLDEBUGMESSAGECALLBACKPROC_HPP fn=reinterpret_cast<PFNGLDEBUGMESSAGECALLBACKPROC_HPP>(_impl::_get_proc_address("glDebugMessageCallback",4,3));
	 fn(callback1,userParam1);
}
typedef void (*PFNGLDEBUGMESSAGECONTROLPROC_HPP)(GLenum,GLenum,GLenum,GLsizei,const GLuint *,GLboolean);
static inline void DebugMessageControl(GLenum source1,GLenum type1,GLenum severity1,GLsizei count1,const GLuint * ids1,GLboolean enabled1)
{
	static PFNGLDEBUGMESSAGECONTROLPROC_HPP fn=reinterpret_cast<PFNGLDEBUGMESSAGECONTROLPROC_HPP>(_impl::_get_proc_address("glDebugMessageControl",4,3));
	 fn(source1,type1,severity1,count1,ids1,enabled1);
}
typedef void (*PFNGLDEBUGMESSAGEINSERTPROC_HPP)(GLenum,GLenum,GLuint,GLenum,GLsizei,const GLchar *);
static inline void DebugMessageInsert(GLenum source1,GLenum type1,GLuint id1,GLenum severity1,GLsizei length1,const GLchar * buf1)
{
	static PFNGLDEBUGMESSAGEINSERTPROC_HPP fn=reinterpret_cast<PFNGLDEBUGMESSAGEINSERTPROC_HPP>(_impl::_get_proc_address("glDebugMessageInsert",4,3));
	 fn(source1,type1,id1,severity1,length1,buf1);
}
typedef void (*PFNGLDELETEBUFFERSPROC_HPP)(GLsizei,const GLuint *);
static inline void DeleteBuffers(GLsizei n1,const GLuint * buffers1)
{
	static PFNGLDELETEBUFFERSPROC_HPP fn=reinterpret_cast<PFNGLDELETEBUFFERSPROC_HPP>(_impl::_get_proc_address("glDeleteBuffers",4,3));
	 fn(n1,buffers1);
}
typedef void (*PFNGLDELETEFRAMEBUFFERSPROC_HPP)(GLsizei,const GLuint *);
static inline void DeleteFramebuffers(GLsizei n1,const GLuint * framebuffers1)
{
	static PFNGLDELETEFRAMEBUFFERSPROC_HPP fn=reinterpret_cast<PFNGLDELETEFRAMEBUFFERSPROC_HPP>(_impl::_get_proc_address("glDeleteFramebuffers",4,3));
	 fn(n1,framebuffers1);
}
typedef void (*PFNGLDELETEPROGRAMPROC_HPP)(GLuint);
static inline void DeleteProgram(GLuint program1)
{
	static PFNGLDELETEPROGRAMPROC_HPP fn=reinterpret_cast<PFNGLDELETEPROGRAMPROC_HPP>(_impl::_get_proc_address("glDeleteProgram",4,3));
	 fn(program1);
}
typedef void (*PFNGLDELETEPROGRAMPIPELINESPROC_HPP)(GLsizei,const GLuint *);
static inline void DeleteProgramPipelines(GLsizei n1,const GLuint * pipelines1)
{
	static PFNGLDELETEPROGRAMPIPELINESPROC_HPP fn=reinterpret_cast<PFNGLDELETEPROGRAMPIPELINESPROC_HPP>(_impl::_get_proc_address("glDeleteProgramPipelines",4,3));
	 fn(n1,pipelines1);
}
typedef void (*PFNGLDELETEQUERIESPROC_HPP)(GLsizei,const GLuint *);
static inline void DeleteQueries(GLsizei n1,const GLuint * ids1)
{
	static PFNGLDELETEQUERIESPROC_HPP fn=reinterpret_cast<PFNGLDELETEQUERIESPROC_HPP>(_impl::_get_proc_address("glDeleteQueries",4,3));
	 fn(n1,ids1);
}
typedef void (*PFNGLDELETERENDERBUFFERSPROC_HPP)(GLsizei,const GLuint *);
static inline void DeleteRenderbuffers(GLsizei n1,const GLuint * renderbuffers1)
{
	static PFNGLDELETERENDERBUFFERSPROC_HPP fn=reinterpret_cast<PFNGLDELETERENDERBUFFERSPROC_HPP>(_impl::_get_proc_address("glDeleteRenderbuffers",4,3));
	 fn(n1,renderbuffers1);
}
typedef void (*PFNGLDELETESAMPLERSPROC_HPP)(GLsizei,const GLuint *);
static inline void DeleteSamplers(GLsizei count1,const GLuint * samplers1)
{
	static PFNGLDELETESAMPLERSPROC_HPP fn=reinterpret_cast<PFNGLDELETESAMPLERSPROC_HPP>(_impl::_get_proc_address("glDeleteSamplers",4,3));
	 fn(count1,samplers1);
}
typedef void (*PFNGLDELETESHADERPROC_HPP)(GLuint);
static inline void DeleteShader(GLuint shader1)
{
	static PFNGLDELETESHADERPROC_HPP fn=reinterpret_cast<PFNGLDELETESHADERPROC_HPP>(_impl::_get_proc_address("glDeleteShader",4,3));
	 fn(shader1);
}
typedef void (*PFNGLDELETESYNCPROC_HPP)(GLsync);
static inline void DeleteSync(GLsync sync1)
{
	static PFNGLDELETESYNCPROC_HPP fn=reinterpret_cast<PFNGLDELETESYNCPROC_HPP>(_impl::_get_proc_address("glDeleteSync",4,3));
	 fn(sync1);
}
static inline void DeleteTextures(GLsizei n1,const GLuint * textures1)
{
	 glDeleteTextures(n1,textures1);
}
typedef void (*PFNGLDELETETRANSFORMFEEDBACKSPROC_HPP)(GLsizei,const GLuint *);
static inline void DeleteTransformFeedbacks(GLsizei n1,const GLuint * ids1)
{
	static PFNGLDELETETRANSFORMFEEDBACKSPROC_HPP fn=reinterpret_cast<PFNGLDELETETRANSFORMFEEDBACKSPROC_HPP>(_impl::_get_proc_address("glDeleteTransformFeedbacks",4,3));
	 fn(n1,ids1);
}
typedef void (*PFNGLDELETEVERTEXARRAYSPROC_HPP)(GLsizei,const GLuint *);
static inline void DeleteVertexArrays(GLsizei n1,const GLuint * arrays1)
{
	static PFNGLDELETEVERTEXARRAYSPROC_HPP fn=reinterpret_cast<PFNGLDELETEVERTEXARRAYSPROC_HPP>(_impl::_get_proc_address("glDeleteVertexArrays",4,3));
	 fn(n1,arrays1);
}
static inline void DepthFunc(GLenum func1)
{
	 glDepthFunc(func1);
}
static inline void DepthMask(GLboolean flag1)
{
	 glDepthMask(flag1);
}
static inline void DepthRange(GLdouble near1,GLdouble far1)
{
	 glDepthRange(near1,far1);
}
typedef void (*PFNGLDEPTHRANGEARRAYVPROC_HPP)(GLuint,GLsizei,const GLdouble *);
static inline void DepthRangeArrayv(GLuint first1,GLsizei count1,const GLdouble * v1)
{
	static PFNGLDEPTHRANGEARRAYVPROC_HPP fn=reinterpret_cast<PFNGLDEPTHRANGEARRAYVPROC_HPP>(_impl::_get_proc_address("glDepthRangeArrayv",4,3));
	 fn(first1,count1,v1);
}
typedef void (*PFNGLDEPTHRANGEINDEXEDPROC_HPP)(GLuint,GLdouble,GLdouble);
static inline void DepthRangeIndexed(GLuint index1,GLdouble n1,GLdouble f1)
{
	static PFNGLDEPTHRANGEINDEXEDPROC_HPP fn=reinterpret_cast<PFNGLDEPTHRANGEINDEXEDPROC_HPP>(_impl::_get_proc_address("glDepthRangeIndexed",4,3));
	 fn(index1,n1,f1);
}
typedef void (*PFNGLDEPTHRANGEFPROC_HPP)(GLfloat,GLfloat);
static inline void DepthRangef(GLfloat n1,GLfloat f1)
{
	static PFNGLDEPTHRANGEFPROC_HPP fn=reinterpret_cast<PFNGLDEPTHRANGEFPROC_HPP>(_impl::_get_proc_address("glDepthRangef",4,3));
	 fn(n1,f1);
}
typedef void (*PFNGLDETACHSHADERPROC_HPP)(GLuint,GLuint);
static inline void DetachShader(GLuint program1,GLuint shader1)
{
	static PFNGLDETACHSHADERPROC_HPP fn=reinterpret_cast<PFNGLDETACHSHADERPROC_HPP>(_impl::_get_proc_address("glDetachShader",4,3));
	 fn(program1,shader1);
}
static inline void Disable(GLenum cap1)
{
	 glDisable(cap1);
}
typedef void (*PFNGLDISABLEVERTEXATTRIBARRAYPROC_HPP)(GLuint);
static inline void DisableVertexAttribArray(GLuint index1)
{
	static PFNGLDISABLEVERTEXATTRIBARRAYPROC_HPP fn=reinterpret_cast<PFNGLDISABLEVERTEXATTRIBARRAYPROC_HPP>(_impl::_get_proc_address("glDisableVertexAttribArray",4,3));
	 fn(index1);
}
typedef void (*PFNGLDISABLEIPROC_HPP)(GLenum,GLuint);
static inline void Disablei(GLenum target1,GLuint index1)
{
	static PFNGLDISABLEIPROC_HPP fn=reinterpret_cast<PFNGLDISABLEIPROC_HPP>(_impl::_get_proc_address("glDisablei",4,3));
	 fn(target1,index1);
}
typedef void (*PFNGLDISPATCHCOMPUTEPROC_HPP)(GLuint,GLuint,GLuint);
static inline void DispatchCompute(GLuint num_groups_x1,GLuint num_groups_y1,GLuint num_groups_z1)
{
	static PFNGLDISPATCHCOMPUTEPROC_HPP fn=reinterpret_cast<PFNGLDISPATCHCOMPUTEPROC_HPP>(_impl::_get_proc_address("glDispatchCompute",4,3));
	 fn(num_groups_x1,num_groups_y1,num_groups_z1);
}
typedef void (*PFNGLDISPATCHCOMPUTEINDIRECTPROC_HPP)(GLintptr);
static inline void DispatchComputeIndirect(GLintptr indirect1)
{
	static PFNGLDISPATCHCOMPUTEINDIRECTPROC_HPP fn=reinterpret_cast<PFNGLDISPATCHCOMPUTEINDIRECTPROC_HPP>(_impl::_get_proc_address("glDispatchComputeIndirect",4,3));
	 fn(indirect1);
}
static inline void DrawArrays(GLenum mode1,GLint first1,GLsizei count1)
{
	 glDrawArrays(mode1,first1,count1);
}
typedef void (*PFNGLDRAWARRAYSINDIRECTPROC_HPP)(GLenum,const void *);
static inline void DrawArraysIndirect(GLenum mode1,const void * indirect1)
{
	static PFNGLDRAWARRAYSINDIRECTPROC_HPP fn=reinterpret_cast<PFNGLDRAWARRAYSINDIRECTPROC_HPP>(_impl::_get_proc_address("glDrawArraysIndirect",4,3));
	 fn(mode1,indirect1);
}
typedef void (*PFNGLDRAWARRAYSINSTANCEDPROC_HPP)(GLenum,GLint,GLsizei,GLsizei);
static inline void DrawArraysInstanced(GLenum mode1,GLint first1,GLsizei count1,GLsizei instancecount1)
{
	static PFNGLDRAWARRAYSINSTANCEDPROC_HPP fn=reinterpret_cast<PFNGLDRAWARRAYSINSTANCEDPROC_HPP>(_impl::_get_proc_address("glDrawArraysInstanced",4,3));
	 fn(mode1,first1,count1,instancecount1);
}
typedef void (*PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC_HPP)(GLenum,GLint,GLsizei,GLsizei,GLuint);
static inline void DrawArraysInstancedBaseInstance(GLenum mode1,GLint first1,GLsizei count1,GLsizei instancecount1,GLuint baseinstance1)
{
	static PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC_HPP fn=reinterpret_cast<PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC_HPP>(_impl::_get_proc_address("glDrawArraysInstancedBaseInstance",4,3));
	 fn(mode1,first1,count1,instancecount1,baseinstance1);
}
static inline void DrawBuffer(GLenum buf1)
{
	 glDrawBuffer(buf1);
}
typedef void (*PFNGLDRAWBUFFERSPROC_HPP)(GLsizei,const GLenum *);
static inline void DrawBuffers(GLsizei n1,const GLenum * bufs1)
{
	static PFNGLDRAWBUFFERSPROC_HPP fn=reinterpret_cast<PFNGLDRAWBUFFERSPROC_HPP>(_impl::_get_proc_address("glDrawBuffers",4,3));
	 fn(n1,bufs1);
}
static inline void DrawElements(GLenum mode1,GLsizei count1,GLenum type1,const void * indices1)
{
	 glDrawElements(mode1,count1,type1,indices1);
}
typedef void (*PFNGLDRAWELEMENTSBASEVERTEXPROC_HPP)(GLenum,GLsizei,GLenum,const void *,GLint);
static inline void DrawElementsBaseVertex(GLenum mode1,GLsizei count1,GLenum type1,const void * indices1,GLint basevertex1)
{
	static PFNGLDRAWELEMENTSBASEVERTEXPROC_HPP fn=reinterpret_cast<PFNGLDRAWELEMENTSBASEVERTEXPROC_HPP>(_impl::_get_proc_address("glDrawElementsBaseVertex",4,3));
	 fn(mode1,count1,type1,indices1,basevertex1);
}
typedef void (*PFNGLDRAWELEMENTSINDIRECTPROC_HPP)(GLenum,GLenum,const void *);
static inline void DrawElementsIndirect(GLenum mode1,GLenum type1,const void * indirect1)
{
	static PFNGLDRAWELEMENTSINDIRECTPROC_HPP fn=reinterpret_cast<PFNGLDRAWELEMENTSINDIRECTPROC_HPP>(_impl::_get_proc_address("glDrawElementsIndirect",4,3));
	 fn(mode1,type1,indirect1);
}
typedef void (*PFNGLDRAWELEMENTSINSTANCEDPROC_HPP)(GLenum,GLsizei,GLenum,const void *,GLsizei);
static inline void DrawElementsInstanced(GLenum mode1,GLsizei count1,GLenum type1,const void * indices1,GLsizei instancecount1)
{
	static PFNGLDRAWELEMENTSINSTANCEDPROC_HPP fn=reinterpret_cast<PFNGLDRAWELEMENTSINSTANCEDPROC_HPP>(_impl::_get_proc_address("glDrawElementsInstanced",4,3));
	 fn(mode1,count1,type1,indices1,instancecount1);
}
typedef void (*PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC_HPP)(GLenum,GLsizei,GLenum,const void *,GLsizei,GLuint);
static inline void DrawElementsInstancedBaseInstance(GLenum mode1,GLsizei count1,GLenum type1,const void * indices1,GLsizei instancecount1,GLuint baseinstance1)
{
	static PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC_HPP fn=reinterpret_cast<PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC_HPP>(_impl::_get_proc_address("glDrawElementsInstancedBaseInstance",4,3));
	 fn(mode1,count1,type1,indices1,instancecount1,baseinstance1);
}
typedef void (*PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC_HPP)(GLenum,GLsizei,GLenum,const void *,GLsizei,GLint);
static inline void DrawElementsInstancedBaseVertex(GLenum mode1,GLsizei count1,GLenum type1,const void * indices1,GLsizei instancecount1,GLint basevertex1)
{
	static PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC_HPP fn=reinterpret_cast<PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC_HPP>(_impl::_get_proc_address("glDrawElementsInstancedBaseVertex",4,3));
	 fn(mode1,count1,type1,indices1,instancecount1,basevertex1);
}
typedef void (*PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC_HPP)(GLenum,GLsizei,GLenum,const void *,GLsizei,GLint,GLuint);
static inline void DrawElementsInstancedBaseVertexBaseInstance(GLenum mode1,GLsizei count1,GLenum type1,const void * indices1,GLsizei instancecount1,GLint basevertex1,GLuint baseinstance1)
{
	static PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC_HPP fn=reinterpret_cast<PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC_HPP>(_impl::_get_proc_address("glDrawElementsInstancedBaseVertexBaseInstance",4,3));
	 fn(mode1,count1,type1,indices1,instancecount1,basevertex1,baseinstance1);
}
typedef void (*PFNGLDRAWRANGEELEMENTSPROC_HPP)(GLenum,GLuint,GLuint,GLsizei,GLenum,const void *);
static inline void DrawRangeElements(GLenum mode1,GLuint start1,GLuint end1,GLsizei count1,GLenum type1,const void * indices1)
{
	static PFNGLDRAWRANGEELEMENTSPROC_HPP fn=reinterpret_cast<PFNGLDRAWRANGEELEMENTSPROC_HPP>(_impl::_get_proc_address("glDrawRangeElements",4,3));
	 fn(mode1,start1,end1,count1,type1,indices1);
}
typedef void (*PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC_HPP)(GLenum,GLuint,GLuint,GLsizei,GLenum,const void *,GLint);
static inline void DrawRangeElementsBaseVertex(GLenum mode1,GLuint start1,GLuint end1,GLsizei count1,GLenum type1,const void * indices1,GLint basevertex1)
{
	static PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC_HPP fn=reinterpret_cast<PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC_HPP>(_impl::_get_proc_address("glDrawRangeElementsBaseVertex",4,3));
	 fn(mode1,start1,end1,count1,type1,indices1,basevertex1);
}
typedef void (*PFNGLDRAWTRANSFORMFEEDBACKPROC_HPP)(GLenum,GLuint);
static inline void DrawTransformFeedback(GLenum mode1,GLuint id1)
{
	static PFNGLDRAWTRANSFORMFEEDBACKPROC_HPP fn=reinterpret_cast<PFNGLDRAWTRANSFORMFEEDBACKPROC_HPP>(_impl::_get_proc_address("glDrawTransformFeedback",4,3));
	 fn(mode1,id1);
}
typedef void (*PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC_HPP)(GLenum,GLuint,GLsizei);
static inline void DrawTransformFeedbackInstanced(GLenum mode1,GLuint id1,GLsizei instancecount1)
{
	static PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC_HPP fn=reinterpret_cast<PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC_HPP>(_impl::_get_proc_address("glDrawTransformFeedbackInstanced",4,3));
	 fn(mode1,id1,instancecount1);
}
typedef void (*PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC_HPP)(GLenum,GLuint,GLuint);
static inline void DrawTransformFeedbackStream(GLenum mode1,GLuint id1,GLuint stream1)
{
	static PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC_HPP fn=reinterpret_cast<PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC_HPP>(_impl::_get_proc_address("glDrawTransformFeedbackStream",4,3));
	 fn(mode1,id1,stream1);
}
typedef void (*PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC_HPP)(GLenum,GLuint,GLuint,GLsizei);
static inline void DrawTransformFeedbackStreamInstanced(GLenum mode1,GLuint id1,GLuint stream1,GLsizei instancecount1)
{
	static PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC_HPP fn=reinterpret_cast<PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC_HPP>(_impl::_get_proc_address("glDrawTransformFeedbackStreamInstanced",4,3));
	 fn(mode1,id1,stream1,instancecount1);
}
static inline void Enable(GLenum cap1)
{
	 glEnable(cap1);
}
typedef void (*PFNGLENABLEVERTEXATTRIBARRAYPROC_HPP)(GLuint);
static inline void EnableVertexAttribArray(GLuint index1)
{
	static PFNGLENABLEVERTEXATTRIBARRAYPROC_HPP fn=reinterpret_cast<PFNGLENABLEVERTEXATTRIBARRAYPROC_HPP>(_impl::_get_proc_address("glEnableVertexAttribArray",4,3));
	 fn(index1);
}
typedef void (*PFNGLENABLEIPROC_HPP)(GLenum,GLuint);
static inline void Enablei(GLenum target1,GLuint index1)
{
	static PFNGLENABLEIPROC_HPP fn=reinterpret_cast<PFNGLENABLEIPROC_HPP>(_impl::_get_proc_address("glEnablei",4,3));
	 fn(target1,index1);
}
typedef void (*PFNGLENDCONDITIONALRENDERPROC_HPP)();
static inline void EndConditionalRender()
{
	static PFNGLENDCONDITIONALRENDERPROC_HPP fn=reinterpret_cast<PFNGLENDCONDITIONALRENDERPROC_HPP>(_impl::_get_proc_address("glEndConditionalRender",4,3));
	 fn();
}
typedef void (*PFNGLENDQUERYPROC_HPP)(GLenum);
static inline void EndQuery(GLenum target1)
{
	static PFNGLENDQUERYPROC_HPP fn=reinterpret_cast<PFNGLENDQUERYPROC_HPP>(_impl::_get_proc_address("glEndQuery",4,3));
	 fn(target1);
}
typedef void (*PFNGLENDQUERYINDEXEDPROC_HPP)(GLenum,GLuint);
static inline void EndQueryIndexed(GLenum target1,GLuint index1)
{
	static PFNGLENDQUERYINDEXEDPROC_HPP fn=reinterpret_cast<PFNGLENDQUERYINDEXEDPROC_HPP>(_impl::_get_proc_address("glEndQueryIndexed",4,3));
	 fn(target1,index1);
}
typedef void (*PFNGLENDTRANSFORMFEEDBACKPROC_HPP)();
static inline void EndTransformFeedback()
{
	static PFNGLENDTRANSFORMFEEDBACKPROC_HPP fn=reinterpret_cast<PFNGLENDTRANSFORMFEEDBACKPROC_HPP>(_impl::_get_proc_address("glEndTransformFeedback",4,3));
	 fn();
}
typedef GLsync (*PFNGLFENCESYNCPROC_HPP)(GLenum,GLbitfield);
static inline GLsync FenceSync(GLenum condition1,GLbitfield flags1)
{
	static PFNGLFENCESYNCPROC_HPP fn=reinterpret_cast<PFNGLFENCESYNCPROC_HPP>(_impl::_get_proc_address("glFenceSync",4,3));
	return fn(condition1,flags1);
}
static inline void Finish()
{
	 glFinish();
}
static inline void Flush()
{
	 glFlush();
}
typedef void (*PFNGLFLUSHMAPPEDBUFFERRANGEPROC_HPP)(GLenum,GLintptr,GLsizeiptr);
static inline void FlushMappedBufferRange(GLenum target1,GLintptr offset1,GLsizeiptr length1)
{
	static PFNGLFLUSHMAPPEDBUFFERRANGEPROC_HPP fn=reinterpret_cast<PFNGLFLUSHMAPPEDBUFFERRANGEPROC_HPP>(_impl::_get_proc_address("glFlushMappedBufferRange",4,3));
	 fn(target1,offset1,length1);
}
typedef void (*PFNGLFRAMEBUFFERPARAMETERIPROC_HPP)(GLenum,GLenum,GLint);
static inline void FramebufferParameteri(GLenum target1,GLenum pname1,GLint param1)
{
	static PFNGLFRAMEBUFFERPARAMETERIPROC_HPP fn=reinterpret_cast<PFNGLFRAMEBUFFERPARAMETERIPROC_HPP>(_impl::_get_proc_address("glFramebufferParameteri",4,3));
	 fn(target1,pname1,param1);
}
typedef void (*PFNGLFRAMEBUFFERRENDERBUFFERPROC_HPP)(GLenum,GLenum,GLenum,GLuint);
static inline void FramebufferRenderbuffer(GLenum target1,GLenum attachment1,GLenum renderbuffertarget1,GLuint renderbuffer1)
{
	static PFNGLFRAMEBUFFERRENDERBUFFERPROC_HPP fn=reinterpret_cast<PFNGLFRAMEBUFFERRENDERBUFFERPROC_HPP>(_impl::_get_proc_address("glFramebufferRenderbuffer",4,3));
	 fn(target1,attachment1,renderbuffertarget1,renderbuffer1);
}
typedef void (*PFNGLFRAMEBUFFERTEXTUREPROC_HPP)(GLenum,GLenum,GLuint,GLint);
static inline void FramebufferTexture(GLenum target1,GLenum attachment1,GLuint texture1,GLint level1)
{
	static PFNGLFRAMEBUFFERTEXTUREPROC_HPP fn=reinterpret_cast<PFNGLFRAMEBUFFERTEXTUREPROC_HPP>(_impl::_get_proc_address("glFramebufferTexture",4,3));
	 fn(target1,attachment1,texture1,level1);
}
typedef void (*PFNGLFRAMEBUFFERTEXTURE1DPROC_HPP)(GLenum,GLenum,GLenum,GLuint,GLint);
static inline void FramebufferTexture1D(GLenum target1,GLenum attachment1,GLenum textarget1,GLuint texture1,GLint level1)
{
	static PFNGLFRAMEBUFFERTEXTURE1DPROC_HPP fn=reinterpret_cast<PFNGLFRAMEBUFFERTEXTURE1DPROC_HPP>(_impl::_get_proc_address("glFramebufferTexture1D",4,3));
	 fn(target1,attachment1,textarget1,texture1,level1);
}
typedef void (*PFNGLFRAMEBUFFERTEXTURE2DPROC_HPP)(GLenum,GLenum,GLenum,GLuint,GLint);
static inline void FramebufferTexture2D(GLenum target1,GLenum attachment1,GLenum textarget1,GLuint texture1,GLint level1)
{
	static PFNGLFRAMEBUFFERTEXTURE2DPROC_HPP fn=reinterpret_cast<PFNGLFRAMEBUFFERTEXTURE2DPROC_HPP>(_impl::_get_proc_address("glFramebufferTexture2D",4,3));
	 fn(target1,attachment1,textarget1,texture1,level1);
}
typedef void (*PFNGLFRAMEBUFFERTEXTURE3DPROC_HPP)(GLenum,GLenum,GLenum,GLuint,GLint,GLint);
static inline void FramebufferTexture3D(GLenum target1,GLenum attachment1,GLenum textarget1,GLuint texture1,GLint level1,GLint zoffset1)
{
	static PFNGLFRAMEBUFFERTEXTURE3DPROC_HPP fn=reinterpret_cast<PFNGLFRAMEBUFFERTEXTURE3DPROC_HPP>(_impl::_get_proc_address("glFramebufferTexture3D",4,3));
	 fn(target1,attachment1,textarget1,texture1,level1,zoffset1);
}
typedef void (*PFNGLFRAMEBUFFERTEXTURELAYERPROC_HPP)(GLenum,GLenum,GLuint,GLint,GLint);
static inline void FramebufferTextureLayer(GLenum target1,GLenum attachment1,GLuint texture1,GLint level1,GLint layer1)
{
	static PFNGLFRAMEBUFFERTEXTURELAYERPROC_HPP fn=reinterpret_cast<PFNGLFRAMEBUFFERTEXTURELAYERPROC_HPP>(_impl::_get_proc_address("glFramebufferTextureLayer",4,3));
	 fn(target1,attachment1,texture1,level1,layer1);
}
static inline void FrontFace(GLenum mode1)
{
	 glFrontFace(mode1);
}
typedef void (*PFNGLGENBUFFERSPROC_HPP)(GLsizei,GLuint *);
static inline void GenBuffers(GLsizei n1,GLuint * buffers1)
{
	static PFNGLGENBUFFERSPROC_HPP fn=reinterpret_cast<PFNGLGENBUFFERSPROC_HPP>(_impl::_get_proc_address("glGenBuffers",4,3));
	 fn(n1,buffers1);
}
typedef void (*PFNGLGENFRAMEBUFFERSPROC_HPP)(GLsizei,GLuint *);
static inline void GenFramebuffers(GLsizei n1,GLuint * framebuffers1)
{
	static PFNGLGENFRAMEBUFFERSPROC_HPP fn=reinterpret_cast<PFNGLGENFRAMEBUFFERSPROC_HPP>(_impl::_get_proc_address("glGenFramebuffers",4,3));
	 fn(n1,framebuffers1);
}
typedef void (*PFNGLGENPROGRAMPIPELINESPROC_HPP)(GLsizei,GLuint *);
static inline void GenProgramPipelines(GLsizei n1,GLuint * pipelines1)
{
	static PFNGLGENPROGRAMPIPELINESPROC_HPP fn=reinterpret_cast<PFNGLGENPROGRAMPIPELINESPROC_HPP>(_impl::_get_proc_address("glGenProgramPipelines",4,3));
	 fn(n1,pipelines1);
}
typedef void (*PFNGLGENQUERIESPROC_HPP)(GLsizei,GLuint *);
static inline void GenQueries(GLsizei n1,GLuint * ids1)
{
	static PFNGLGENQUERIESPROC_HPP fn=reinterpret_cast<PFNGLGENQUERIESPROC_HPP>(_impl::_get_proc_address("glGenQueries",4,3));
	 fn(n1,ids1);
}
typedef void (*PFNGLGENRENDERBUFFERSPROC_HPP)(GLsizei,GLuint *);
static inline void GenRenderbuffers(GLsizei n1,GLuint * renderbuffers1)
{
	static PFNGLGENRENDERBUFFERSPROC_HPP fn=reinterpret_cast<PFNGLGENRENDERBUFFERSPROC_HPP>(_impl::_get_proc_address("glGenRenderbuffers",4,3));
	 fn(n1,renderbuffers1);
}
typedef void (*PFNGLGENSAMPLERSPROC_HPP)(GLsizei,GLuint *);
static inline void GenSamplers(GLsizei count1,GLuint * samplers1)
{
	static PFNGLGENSAMPLERSPROC_HPP fn=reinterpret_cast<PFNGLGENSAMPLERSPROC_HPP>(_impl::_get_proc_address("glGenSamplers",4,3));
	 fn(count1,samplers1);
}
static inline void GenTextures(GLsizei n1,GLuint * textures1)
{
	 glGenTextures(n1,textures1);
}
typedef void (*PFNGLGENTRANSFORMFEEDBACKSPROC_HPP)(GLsizei,GLuint *);
static inline void GenTransformFeedbacks(GLsizei n1,GLuint * ids1)
{
	static PFNGLGENTRANSFORMFEEDBACKSPROC_HPP fn=reinterpret_cast<PFNGLGENTRANSFORMFEEDBACKSPROC_HPP>(_impl::_get_proc_address("glGenTransformFeedbacks",4,3));
	 fn(n1,ids1);
}
typedef void (*PFNGLGENVERTEXARRAYSPROC_HPP)(GLsizei,GLuint *);
static inline void GenVertexArrays(GLsizei n1,GLuint * arrays1)
{
	static PFNGLGENVERTEXARRAYSPROC_HPP fn=reinterpret_cast<PFNGLGENVERTEXARRAYSPROC_HPP>(_impl::_get_proc_address("glGenVertexArrays",4,3));
	 fn(n1,arrays1);
}
typedef void (*PFNGLGENERATEMIPMAPPROC_HPP)(GLenum);
static inline void GenerateMipmap(GLenum target1)
{
	static PFNGLGENERATEMIPMAPPROC_HPP fn=reinterpret_cast<PFNGLGENERATEMIPMAPPROC_HPP>(_impl::_get_proc_address("glGenerateMipmap",4,3));
	 fn(target1);
}
typedef void (*PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC_HPP)(GLuint,GLuint,GLenum,GLint *);
static inline void GetActiveAtomicCounterBufferiv(GLuint program1,GLuint bufferIndex1,GLenum pname1,GLint * params1)
{
	static PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC_HPP fn=reinterpret_cast<PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC_HPP>(_impl::_get_proc_address("glGetActiveAtomicCounterBufferiv",4,3));
	 fn(program1,bufferIndex1,pname1,params1);
}
typedef void (*PFNGLGETACTIVEATTRIBPROC_HPP)(GLuint,GLuint,GLsizei,GLsizei *,GLint *,GLenum *,GLchar *);
static inline void GetActiveAttrib(GLuint program1,GLuint index1,GLsizei bufSize1,GLsizei * length1,GLint * size1,GLenum * type1,GLchar * name1)
{
	static PFNGLGETACTIVEATTRIBPROC_HPP fn=reinterpret_cast<PFNGLGETACTIVEATTRIBPROC_HPP>(_impl::_get_proc_address("glGetActiveAttrib",4,3));
	 fn(program1,index1,bufSize1,length1,size1,type1,name1);
}
typedef void (*PFNGLGETACTIVESUBROUTINENAMEPROC_HPP)(GLuint,GLenum,GLuint,GLsizei,GLsizei *,GLchar *);
static inline void GetActiveSubroutineName(GLuint program1,GLenum shadertype1,GLuint index1,GLsizei bufsize1,GLsizei * length1,GLchar * name1)
{
	static PFNGLGETACTIVESUBROUTINENAMEPROC_HPP fn=reinterpret_cast<PFNGLGETACTIVESUBROUTINENAMEPROC_HPP>(_impl::_get_proc_address("glGetActiveSubroutineName",4,3));
	 fn(program1,shadertype1,index1,bufsize1,length1,name1);
}
typedef void (*PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC_HPP)(GLuint,GLenum,GLuint,GLsizei,GLsizei *,GLchar *);
static inline void GetActiveSubroutineUniformName(GLuint program1,GLenum shadertype1,GLuint index1,GLsizei bufsize1,GLsizei * length1,GLchar * name1)
{
	static PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC_HPP fn=reinterpret_cast<PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC_HPP>(_impl::_get_proc_address("glGetActiveSubroutineUniformName",4,3));
	 fn(program1,shadertype1,index1,bufsize1,length1,name1);
}
typedef void (*PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC_HPP)(GLuint,GLenum,GLuint,GLenum,GLint *);
static inline void GetActiveSubroutineUniformiv(GLuint program1,GLenum shadertype1,GLuint index1,GLenum pname1,GLint * values1)
{
	static PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC_HPP fn=reinterpret_cast<PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC_HPP>(_impl::_get_proc_address("glGetActiveSubroutineUniformiv",4,3));
	 fn(program1,shadertype1,index1,pname1,values1);
}
typedef void (*PFNGLGETACTIVEUNIFORMPROC_HPP)(GLuint,GLuint,GLsizei,GLsizei *,GLint *,GLenum *,GLchar *);
static inline void GetActiveUniform(GLuint program1,GLuint index1,GLsizei bufSize1,GLsizei * length1,GLint * size1,GLenum * type1,GLchar * name1)
{
	static PFNGLGETACTIVEUNIFORMPROC_HPP fn=reinterpret_cast<PFNGLGETACTIVEUNIFORMPROC_HPP>(_impl::_get_proc_address("glGetActiveUniform",4,3));
	 fn(program1,index1,bufSize1,length1,size1,type1,name1);
}
typedef void (*PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC_HPP)(GLuint,GLuint,GLsizei,GLsizei *,GLchar *);
static inline void GetActiveUniformBlockName(GLuint program1,GLuint uniformBlockIndex1,GLsizei bufSize1,GLsizei * length1,GLchar * uniformBlockName1)
{
	static PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC_HPP fn=reinterpret_cast<PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC_HPP>(_impl::_get_proc_address("glGetActiveUniformBlockName",4,3));
	 fn(program1,uniformBlockIndex1,bufSize1,length1,uniformBlockName1);
}
typedef void (*PFNGLGETACTIVEUNIFORMBLOCKIVPROC_HPP)(GLuint,GLuint,GLenum,GLint *);
static inline void GetActiveUniformBlockiv(GLuint program1,GLuint uniformBlockIndex1,GLenum pname1,GLint * params1)
{
	static PFNGLGETACTIVEUNIFORMBLOCKIVPROC_HPP fn=reinterpret_cast<PFNGLGETACTIVEUNIFORMBLOCKIVPROC_HPP>(_impl::_get_proc_address("glGetActiveUniformBlockiv",4,3));
	 fn(program1,uniformBlockIndex1,pname1,params1);
}
typedef void (*PFNGLGETACTIVEUNIFORMNAMEPROC_HPP)(GLuint,GLuint,GLsizei,GLsizei *,GLchar *);
static inline void GetActiveUniformName(GLuint program1,GLuint uniformIndex1,GLsizei bufSize1,GLsizei * length1,GLchar * uniformName1)
{
	static PFNGLGETACTIVEUNIFORMNAMEPROC_HPP fn=reinterpret_cast<PFNGLGETACTIVEUNIFORMNAMEPROC_HPP>(_impl::_get_proc_address("glGetActiveUniformName",4,3));
	 fn(program1,uniformIndex1,bufSize1,length1,uniformName1);
}
typedef void (*PFNGLGETACTIVEUNIFORMSIVPROC_HPP)(GLuint,GLsizei,const GLuint *,GLenum,GLint *);
static inline void GetActiveUniformsiv(GLuint program1,GLsizei uniformCount1,const GLuint * uniformIndices1,GLenum pname1,GLint * params1)
{
	static PFNGLGETACTIVEUNIFORMSIVPROC_HPP fn=reinterpret_cast<PFNGLGETACTIVEUNIFORMSIVPROC_HPP>(_impl::_get_proc_address("glGetActiveUniformsiv",4,3));
	 fn(program1,uniformCount1,uniformIndices1,pname1,params1);
}
typedef void (*PFNGLGETATTACHEDSHADERSPROC_HPP)(GLuint,GLsizei,GLsizei *,GLuint *);
static inline void GetAttachedShaders(GLuint program1,GLsizei maxCount1,GLsizei * count1,GLuint * shaders1)
{
	static PFNGLGETATTACHEDSHADERSPROC_HPP fn=reinterpret_cast<PFNGLGETATTACHEDSHADERSPROC_HPP>(_impl::_get_proc_address("glGetAttachedShaders",4,3));
	 fn(program1,maxCount1,count1,shaders1);
}
typedef GLint (*PFNGLGETATTRIBLOCATIONPROC_HPP)(GLuint,const GLchar *);
static inline GLint GetAttribLocation(GLuint program1,const GLchar * name1)
{
	static PFNGLGETATTRIBLOCATIONPROC_HPP fn=reinterpret_cast<PFNGLGETATTRIBLOCATIONPROC_HPP>(_impl::_get_proc_address("glGetAttribLocation",4,3));
	return fn(program1,name1);
}
typedef void (*PFNGLGETBOOLEANI_VPROC_HPP)(GLenum,GLuint,GLboolean *);
static inline void GetBooleani_v(GLenum target1,GLuint index1,GLboolean * data1)
{
	static PFNGLGETBOOLEANI_VPROC_HPP fn=reinterpret_cast<PFNGLGETBOOLEANI_VPROC_HPP>(_impl::_get_proc_address("glGetBooleani_v",4,3));
	 fn(target1,index1,data1);
}
static inline void GetBooleanv(GLenum pname1,GLboolean * data1)
{
	 glGetBooleanv(pname1,data1);
}
typedef void (*PFNGLGETBUFFERPARAMETERI64VPROC_HPP)(GLenum,GLenum,GLint64 *);
static inline void GetBufferParameteri64v(GLenum target1,GLenum pname1,GLint64 * params1)
{
	static PFNGLGETBUFFERPARAMETERI64VPROC_HPP fn=reinterpret_cast<PFNGLGETBUFFERPARAMETERI64VPROC_HPP>(_impl::_get_proc_address("glGetBufferParameteri64v",4,3));
	 fn(target1,pname1,params1);
}
typedef void (*PFNGLGETBUFFERPARAMETERIVPROC_HPP)(GLenum,GLenum,GLint *);
static inline void GetBufferParameteriv(GLenum target1,GLenum pname1,GLint * params1)
{
	static PFNGLGETBUFFERPARAMETERIVPROC_HPP fn=reinterpret_cast<PFNGLGETBUFFERPARAMETERIVPROC_HPP>(_impl::_get_proc_address("glGetBufferParameteriv",4,3));
	 fn(target1,pname1,params1);
}
typedef void (*PFNGLGETBUFFERPOINTERVPROC_HPP)(GLenum,GLenum,void **);
static inline void GetBufferPointerv(GLenum target1,GLenum pname1,void ** params1)
{
	static PFNGLGETBUFFERPOINTERVPROC_HPP fn=reinterpret_cast<PFNGLGETBUFFERPOINTERVPROC_HPP>(_impl::_get_proc_address("glGetBufferPointerv",4,3));
	 fn(target1,pname1,params1);
}
typedef void (*PFNGLGETBUFFERSUBDATAPROC_HPP)(GLenum,GLintptr,GLsizeiptr,void *);
static inline void GetBufferSubData(GLenum target1,GLintptr offset1,GLsizeiptr size1,void * data1)
{
	static PFNGLGETBUFFERSUBDATAPROC_HPP fn=reinterpret_cast<PFNGLGETBUFFERSUBDATAPROC_HPP>(_impl::_get_proc_address("glGetBufferSubData",4,3));
	 fn(target1,offset1,size1,data1);
}
typedef void (*PFNGLGETCOMPRESSEDTEXIMAGEPROC_HPP)(GLenum,GLint,void *);
static inline void GetCompressedTexImage(GLenum target1,GLint level1,void * img1)
{
	static PFNGLGETCOMPRESSEDTEXIMAGEPROC_HPP fn=reinterpret_cast<PFNGLGETCOMPRESSEDTEXIMAGEPROC_HPP>(_impl::_get_proc_address("glGetCompressedTexImage",4,3));
	 fn(target1,level1,img1);
}
typedef GLuint (*PFNGLGETDEBUGMESSAGELOGPROC_HPP)(GLuint,GLsizei,GLenum *,GLenum *,GLuint *,GLenum *,GLsizei *,GLchar *);
static inline GLuint GetDebugMessageLog(GLuint count1,GLsizei bufSize1,GLenum * sources1,GLenum * types1,GLuint * ids1,GLenum * severities1,GLsizei * lengths1,GLchar * messageLog1)
{
	static PFNGLGETDEBUGMESSAGELOGPROC_HPP fn=reinterpret_cast<PFNGLGETDEBUGMESSAGELOGPROC_HPP>(_impl::_get_proc_address("glGetDebugMessageLog",4,3));
	return fn(count1,bufSize1,sources1,types1,ids1,severities1,lengths1,messageLog1);
}
typedef void (*PFNGLGETDOUBLEI_VPROC_HPP)(GLenum,GLuint,GLdouble *);
static inline void GetDoublei_v(GLenum target1,GLuint index1,GLdouble * data1)
{
	static PFNGLGETDOUBLEI_VPROC_HPP fn=reinterpret_cast<PFNGLGETDOUBLEI_VPROC_HPP>(_impl::_get_proc_address("glGetDoublei_v",4,3));
	 fn(target1,index1,data1);
}
static inline void GetDoublev(GLenum pname1,GLdouble * data1)
{
	 glGetDoublev(pname1,data1);
}
static inline GLenum GetError()
{
	return glGetError();
}
typedef void (*PFNGLGETFLOATI_VPROC_HPP)(GLenum,GLuint,GLfloat *);
static inline void GetFloati_v(GLenum target1,GLuint index1,GLfloat * data1)
{
	static PFNGLGETFLOATI_VPROC_HPP fn=reinterpret_cast<PFNGLGETFLOATI_VPROC_HPP>(_impl::_get_proc_address("glGetFloati_v",4,3));
	 fn(target1,index1,data1);
}
static inline void GetFloatv(GLenum pname1,GLfloat * data1)
{
	 glGetFloatv(pname1,data1);
}
typedef GLint (*PFNGLGETFRAGDATAINDEXPROC_HPP)(GLuint,const GLchar *);
static inline GLint GetFragDataIndex(GLuint program1,const GLchar * name1)
{
	static PFNGLGETFRAGDATAINDEXPROC_HPP fn=reinterpret_cast<PFNGLGETFRAGDATAINDEXPROC_HPP>(_impl::_get_proc_address("glGetFragDataIndex",4,3));
	return fn(program1,name1);
}
typedef GLint (*PFNGLGETFRAGDATALOCATIONPROC_HPP)(GLuint,const GLchar *);
static inline GLint GetFragDataLocation(GLuint program1,const GLchar * name1)
{
	static PFNGLGETFRAGDATALOCATIONPROC_HPP fn=reinterpret_cast<PFNGLGETFRAGDATALOCATIONPROC_HPP>(_impl::_get_proc_address("glGetFragDataLocation",4,3));
	return fn(program1,name1);
}
typedef void (*PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC_HPP)(GLenum,GLenum,GLenum,GLint *);
static inline void GetFramebufferAttachmentParameteriv(GLenum target1,GLenum attachment1,GLenum pname1,GLint * params1)
{
	static PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC_HPP fn=reinterpret_cast<PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC_HPP>(_impl::_get_proc_address("glGetFramebufferAttachmentParameteriv",4,3));
	 fn(target1,attachment1,pname1,params1);
}
typedef void (*PFNGLGETFRAMEBUFFERPARAMETERIVPROC_HPP)(GLenum,GLenum,GLint *);
static inline void GetFramebufferParameteriv(GLenum target1,GLenum pname1,GLint * params1)
{
	static PFNGLGETFRAMEBUFFERPARAMETERIVPROC_HPP fn=reinterpret_cast<PFNGLGETFRAMEBUFFERPARAMETERIVPROC_HPP>(_impl::_get_proc_address("glGetFramebufferParameteriv",4,3));
	 fn(target1,pname1,params1);
}
typedef void (*PFNGLGETINTEGER64I_VPROC_HPP)(GLenum,GLuint,GLint64 *);
static inline void GetInteger64i_v(GLenum target1,GLuint index1,GLint64 * data1)
{
	static PFNGLGETINTEGER64I_VPROC_HPP fn=reinterpret_cast<PFNGLGETINTEGER64I_VPROC_HPP>(_impl::_get_proc_address("glGetInteger64i_v",4,3));
	 fn(target1,index1,data1);
}
typedef void (*PFNGLGETINTEGER64VPROC_HPP)(GLenum,GLint64 *);
static inline void GetInteger64v(GLenum pname1,GLint64 * data1)
{
	static PFNGLGETINTEGER64VPROC_HPP fn=reinterpret_cast<PFNGLGETINTEGER64VPROC_HPP>(_impl::_get_proc_address("glGetInteger64v",4,3));
	 fn(pname1,data1);
}
typedef void (*PFNGLGETINTEGERI_VPROC_HPP)(GLenum,GLuint,GLint *);
static inline void GetIntegeri_v(GLenum target1,GLuint index1,GLint * data1)
{
	static PFNGLGETINTEGERI_VPROC_HPP fn=reinterpret_cast<PFNGLGETINTEGERI_VPROC_HPP>(_impl::_get_proc_address("glGetIntegeri_v",4,3));
	 fn(target1,index1,data1);
}
static inline void GetIntegerv(GLenum pname1,GLint * data1)
{
	 glGetIntegerv(pname1,data1);
}
typedef void (*PFNGLGETINTERNALFORMATI64VPROC_HPP)(GLenum,GLenum,GLenum,GLsizei,GLint64 *);
static inline void GetInternalformati64v(GLenum target1,GLenum internalformat1,GLenum pname1,GLsizei bufSize1,GLint64 * params1)
{
	static PFNGLGETINTERNALFORMATI64VPROC_HPP fn=reinterpret_cast<PFNGLGETINTERNALFORMATI64VPROC_HPP>(_impl::_get_proc_address("glGetInternalformati64v",4,3));
	 fn(target1,internalformat1,pname1,bufSize1,params1);
}
typedef void (*PFNGLGETINTERNALFORMATIVPROC_HPP)(GLenum,GLenum,GLenum,GLsizei,GLint *);
static inline void GetInternalformativ(GLenum target1,GLenum internalformat1,GLenum pname1,GLsizei bufSize1,GLint * params1)
{
	static PFNGLGETINTERNALFORMATIVPROC_HPP fn=reinterpret_cast<PFNGLGETINTERNALFORMATIVPROC_HPP>(_impl::_get_proc_address("glGetInternalformativ",4,3));
	 fn(target1,internalformat1,pname1,bufSize1,params1);
}
typedef void (*PFNGLGETMULTISAMPLEFVPROC_HPP)(GLenum,GLuint,GLfloat *);
static inline void GetMultisamplefv(GLenum pname1,GLuint index1,GLfloat * val1)
{
	static PFNGLGETMULTISAMPLEFVPROC_HPP fn=reinterpret_cast<PFNGLGETMULTISAMPLEFVPROC_HPP>(_impl::_get_proc_address("glGetMultisamplefv",4,3));
	 fn(pname1,index1,val1);
}
typedef void (*PFNGLGETOBJECTLABELPROC_HPP)(GLenum,GLuint,GLsizei,GLsizei *,GLchar *);
static inline void GetObjectLabel(GLenum identifier1,GLuint name1,GLsizei bufSize1,GLsizei * length1,GLchar * label1)
{
	static PFNGLGETOBJECTLABELPROC_HPP fn=reinterpret_cast<PFNGLGETOBJECTLABELPROC_HPP>(_impl::_get_proc_address("glGetObjectLabel",4,3));
	 fn(identifier1,name1,bufSize1,length1,label1);
}
typedef void (*PFNGLGETOBJECTPTRLABELPROC_HPP)(const void *,GLsizei,GLsizei *,GLchar *);
static inline void GetObjectPtrLabel(const void * ptr1,GLsizei bufSize1,GLsizei * length1,GLchar * label1)
{
	static PFNGLGETOBJECTPTRLABELPROC_HPP fn=reinterpret_cast<PFNGLGETOBJECTPTRLABELPROC_HPP>(_impl::_get_proc_address("glGetObjectPtrLabel",4,3));
	 fn(ptr1,bufSize1,length1,label1);
}
typedef void (*PFNGLGETPROGRAMBINARYPROC_HPP)(GLuint,GLsizei,GLsizei *,GLenum *,void *);
static inline void GetProgramBinary(GLuint program1,GLsizei bufSize1,GLsizei * length1,GLenum * binaryFormat1,void * binary1)
{
	static PFNGLGETPROGRAMBINARYPROC_HPP fn=reinterpret_cast<PFNGLGETPROGRAMBINARYPROC_HPP>(_impl::_get_proc_address("glGetProgramBinary",4,3));
	 fn(program1,bufSize1,length1,binaryFormat1,binary1);
}
typedef void (*PFNGLGETPROGRAMINFOLOGPROC_HPP)(GLuint,GLsizei,GLsizei *,GLchar *);
static inline void GetProgramInfoLog(GLuint program1,GLsizei bufSize1,GLsizei * length1,GLchar * infoLog1)
{
	static PFNGLGETPROGRAMINFOLOGPROC_HPP fn=reinterpret_cast<PFNGLGETPROGRAMINFOLOGPROC_HPP>(_impl::_get_proc_address("glGetProgramInfoLog",4,3));
	 fn(program1,bufSize1,length1,infoLog1);
}
typedef void (*PFNGLGETPROGRAMINTERFACEIVPROC_HPP)(GLuint,GLenum,GLenum,GLint *);
static inline void GetProgramInterfaceiv(GLuint program1,GLenum programInterface1,GLenum pname1,GLint * params1)
{
	static PFNGLGETPROGRAMINTERFACEIVPROC_HPP fn=reinterpret_cast<PFNGLGETPROGRAMINTERFACEIVPROC_HPP>(_impl::_get_proc_address("glGetProgramInterfaceiv",4,3));
	 fn(program1,programInterface1,pname1,params1);
}
typedef void (*PFNGLGETPROGRAMPIPELINEINFOLOGPROC_HPP)(GLuint,GLsizei,GLsizei *,GLchar *);
static inline void GetProgramPipelineInfoLog(GLuint pipeline1,GLsizei bufSize1,GLsizei * length1,GLchar * infoLog1)
{
	static PFNGLGETPROGRAMPIPELINEINFOLOGPROC_HPP fn=reinterpret_cast<PFNGLGETPROGRAMPIPELINEINFOLOGPROC_HPP>(_impl::_get_proc_address("glGetProgramPipelineInfoLog",4,3));
	 fn(pipeline1,bufSize1,length1,infoLog1);
}
typedef void (*PFNGLGETPROGRAMPIPELINEIVPROC_HPP)(GLuint,GLenum,GLint *);
static inline void GetProgramPipelineiv(GLuint pipeline1,GLenum pname1,GLint * params1)
{
	static PFNGLGETPROGRAMPIPELINEIVPROC_HPP fn=reinterpret_cast<PFNGLGETPROGRAMPIPELINEIVPROC_HPP>(_impl::_get_proc_address("glGetProgramPipelineiv",4,3));
	 fn(pipeline1,pname1,params1);
}
typedef GLuint (*PFNGLGETPROGRAMRESOURCEINDEXPROC_HPP)(GLuint,GLenum,const GLchar *);
static inline GLuint GetProgramResourceIndex(GLuint program1,GLenum programInterface1,const GLchar * name1)
{
	static PFNGLGETPROGRAMRESOURCEINDEXPROC_HPP fn=reinterpret_cast<PFNGLGETPROGRAMRESOURCEINDEXPROC_HPP>(_impl::_get_proc_address("glGetProgramResourceIndex",4,3));
	return fn(program1,programInterface1,name1);
}
typedef GLint (*PFNGLGETPROGRAMRESOURCELOCATIONPROC_HPP)(GLuint,GLenum,const GLchar *);
static inline GLint GetProgramResourceLocation(GLuint program1,GLenum programInterface1,const GLchar * name1)
{
	static PFNGLGETPROGRAMRESOURCELOCATIONPROC_HPP fn=reinterpret_cast<PFNGLGETPROGRAMRESOURCELOCATIONPROC_HPP>(_impl::_get_proc_address("glGetProgramResourceLocation",4,3));
	return fn(program1,programInterface1,name1);
}
typedef GLint (*PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC_HPP)(GLuint,GLenum,const GLchar *);
static inline GLint GetProgramResourceLocationIndex(GLuint program1,GLenum programInterface1,const GLchar * name1)
{
	static PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC_HPP fn=reinterpret_cast<PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC_HPP>(_impl::_get_proc_address("glGetProgramResourceLocationIndex",4,3));
	return fn(program1,programInterface1,name1);
}
typedef void (*PFNGLGETPROGRAMRESOURCENAMEPROC_HPP)(GLuint,GLenum,GLuint,GLsizei,GLsizei *,GLchar *);
static inline void GetProgramResourceName(GLuint program1,GLenum programInterface1,GLuint index1,GLsizei bufSize1,GLsizei * length1,GLchar * name1)
{
	static PFNGLGETPROGRAMRESOURCENAMEPROC_HPP fn=reinterpret_cast<PFNGLGETPROGRAMRESOURCENAMEPROC_HPP>(_impl::_get_proc_address("glGetProgramResourceName",4,3));
	 fn(program1,programInterface1,index1,bufSize1,length1,name1);
}
typedef void (*PFNGLGETPROGRAMRESOURCEIVPROC_HPP)(GLuint,GLenum,GLuint,GLsizei,const GLenum *,GLsizei,GLsizei *,GLint *);
static inline void GetProgramResourceiv(GLuint program1,GLenum programInterface1,GLuint index1,GLsizei propCount1,const GLenum * props1,GLsizei bufSize1,GLsizei * length1,GLint * params1)
{
	static PFNGLGETPROGRAMRESOURCEIVPROC_HPP fn=reinterpret_cast<PFNGLGETPROGRAMRESOURCEIVPROC_HPP>(_impl::_get_proc_address("glGetProgramResourceiv",4,3));
	 fn(program1,programInterface1,index1,propCount1,props1,bufSize1,length1,params1);
}
typedef void (*PFNGLGETPROGRAMSTAGEIVPROC_HPP)(GLuint,GLenum,GLenum,GLint *);
static inline void GetProgramStageiv(GLuint program1,GLenum shadertype1,GLenum pname1,GLint * values1)
{
	static PFNGLGETPROGRAMSTAGEIVPROC_HPP fn=reinterpret_cast<PFNGLGETPROGRAMSTAGEIVPROC_HPP>(_impl::_get_proc_address("glGetProgramStageiv",4,3));
	 fn(program1,shadertype1,pname1,values1);
}
typedef void (*PFNGLGETPROGRAMIVPROC_HPP)(GLuint,GLenum,GLint *);
static inline void GetProgramiv(GLuint program1,GLenum pname1,GLint * params1)
{
	static PFNGLGETPROGRAMIVPROC_HPP fn=reinterpret_cast<PFNGLGETPROGRAMIVPROC_HPP>(_impl::_get_proc_address("glGetProgramiv",4,3));
	 fn(program1,pname1,params1);
}
typedef void (*PFNGLGETQUERYINDEXEDIVPROC_HPP)(GLenum,GLuint,GLenum,GLint *);
static inline void GetQueryIndexediv(GLenum target1,GLuint index1,GLenum pname1,GLint * params1)
{
	static PFNGLGETQUERYINDEXEDIVPROC_HPP fn=reinterpret_cast<PFNGLGETQUERYINDEXEDIVPROC_HPP>(_impl::_get_proc_address("glGetQueryIndexediv",4,3));
	 fn(target1,index1,pname1,params1);
}
typedef void (*PFNGLGETQUERYOBJECTI64VPROC_HPP)(GLuint,GLenum,GLint64 *);
static inline void GetQueryObjecti64v(GLuint id1,GLenum pname1,GLint64 * params1)
{
	static PFNGLGETQUERYOBJECTI64VPROC_HPP fn=reinterpret_cast<PFNGLGETQUERYOBJECTI64VPROC_HPP>(_impl::_get_proc_address("glGetQueryObjecti64v",4,3));
	 fn(id1,pname1,params1);
}
typedef void (*PFNGLGETQUERYOBJECTIVPROC_HPP)(GLuint,GLenum,GLint *);
static inline void GetQueryObjectiv(GLuint id1,GLenum pname1,GLint * params1)
{
	static PFNGLGETQUERYOBJECTIVPROC_HPP fn=reinterpret_cast<PFNGLGETQUERYOBJECTIVPROC_HPP>(_impl::_get_proc_address("glGetQueryObjectiv",4,3));
	 fn(id1,pname1,params1);
}
typedef void (*PFNGLGETQUERYOBJECTUI64VPROC_HPP)(GLuint,GLenum,GLuint64 *);
static inline void GetQueryObjectui64v(GLuint id1,GLenum pname1,GLuint64 * params1)
{
	static PFNGLGETQUERYOBJECTUI64VPROC_HPP fn=reinterpret_cast<PFNGLGETQUERYOBJECTUI64VPROC_HPP>(_impl::_get_proc_address("glGetQueryObjectui64v",4,3));
	 fn(id1,pname1,params1);
}
typedef void (*PFNGLGETQUERYOBJECTUIVPROC_HPP)(GLuint,GLenum,GLuint *);
static inline void GetQueryObjectuiv(GLuint id1,GLenum pname1,GLuint * params1)
{
	static PFNGLGETQUERYOBJECTUIVPROC_HPP fn=reinterpret_cast<PFNGLGETQUERYOBJECTUIVPROC_HPP>(_impl::_get_proc_address("glGetQueryObjectuiv",4,3));
	 fn(id1,pname1,params1);
}
typedef void (*PFNGLGETQUERYIVPROC_HPP)(GLenum,GLenum,GLint *);
static inline void GetQueryiv(GLenum target1,GLenum pname1,GLint * params1)
{
	static PFNGLGETQUERYIVPROC_HPP fn=reinterpret_cast<PFNGLGETQUERYIVPROC_HPP>(_impl::_get_proc_address("glGetQueryiv",4,3));
	 fn(target1,pname1,params1);
}
typedef void (*PFNGLGETRENDERBUFFERPARAMETERIVPROC_HPP)(GLenum,GLenum,GLint *);
static inline void GetRenderbufferParameteriv(GLenum target1,GLenum pname1,GLint * params1)
{
	static PFNGLGETRENDERBUFFERPARAMETERIVPROC_HPP fn=reinterpret_cast<PFNGLGETRENDERBUFFERPARAMETERIVPROC_HPP>(_impl::_get_proc_address("glGetRenderbufferParameteriv",4,3));
	 fn(target1,pname1,params1);
}
typedef void (*PFNGLGETSAMPLERPARAMETERIIVPROC_HPP)(GLuint,GLenum,GLint *);
static inline void GetSamplerParameterIiv(GLuint sampler1,GLenum pname1,GLint * params1)
{
	static PFNGLGETSAMPLERPARAMETERIIVPROC_HPP fn=reinterpret_cast<PFNGLGETSAMPLERPARAMETERIIVPROC_HPP>(_impl::_get_proc_address("glGetSamplerParameterIiv",4,3));
	 fn(sampler1,pname1,params1);
}
typedef void (*PFNGLGETSAMPLERPARAMETERIUIVPROC_HPP)(GLuint,GLenum,GLuint *);
static inline void GetSamplerParameterIuiv(GLuint sampler1,GLenum pname1,GLuint * params1)
{
	static PFNGLGETSAMPLERPARAMETERIUIVPROC_HPP fn=reinterpret_cast<PFNGLGETSAMPLERPARAMETERIUIVPROC_HPP>(_impl::_get_proc_address("glGetSamplerParameterIuiv",4,3));
	 fn(sampler1,pname1,params1);
}
typedef void (*PFNGLGETSAMPLERPARAMETERFVPROC_HPP)(GLuint,GLenum,GLfloat *);
static inline void GetSamplerParameterfv(GLuint sampler1,GLenum pname1,GLfloat * params1)
{
	static PFNGLGETSAMPLERPARAMETERFVPROC_HPP fn=reinterpret_cast<PFNGLGETSAMPLERPARAMETERFVPROC_HPP>(_impl::_get_proc_address("glGetSamplerParameterfv",4,3));
	 fn(sampler1,pname1,params1);
}
typedef void (*PFNGLGETSAMPLERPARAMETERIVPROC_HPP)(GLuint,GLenum,GLint *);
static inline void GetSamplerParameteriv(GLuint sampler1,GLenum pname1,GLint * params1)
{
	static PFNGLGETSAMPLERPARAMETERIVPROC_HPP fn=reinterpret_cast<PFNGLGETSAMPLERPARAMETERIVPROC_HPP>(_impl::_get_proc_address("glGetSamplerParameteriv",4,3));
	 fn(sampler1,pname1,params1);
}
typedef void (*PFNGLGETSHADERINFOLOGPROC_HPP)(GLuint,GLsizei,GLsizei *,GLchar *);
static inline void GetShaderInfoLog(GLuint shader1,GLsizei bufSize1,GLsizei * length1,GLchar * infoLog1)
{
	static PFNGLGETSHADERINFOLOGPROC_HPP fn=reinterpret_cast<PFNGLGETSHADERINFOLOGPROC_HPP>(_impl::_get_proc_address("glGetShaderInfoLog",4,3));
	 fn(shader1,bufSize1,length1,infoLog1);
}
typedef void (*PFNGLGETSHADERPRECISIONFORMATPROC_HPP)(GLenum,GLenum,GLint *,GLint *);
static inline void GetShaderPrecisionFormat(GLenum shadertype1,GLenum precisiontype1,GLint * range1,GLint * precision1)
{
	static PFNGLGETSHADERPRECISIONFORMATPROC_HPP fn=reinterpret_cast<PFNGLGETSHADERPRECISIONFORMATPROC_HPP>(_impl::_get_proc_address("glGetShaderPrecisionFormat",4,3));
	 fn(shadertype1,precisiontype1,range1,precision1);
}
typedef void (*PFNGLGETSHADERSOURCEPROC_HPP)(GLuint,GLsizei,GLsizei *,GLchar *);
static inline void GetShaderSource(GLuint shader1,GLsizei bufSize1,GLsizei * length1,GLchar * source1)
{
	static PFNGLGETSHADERSOURCEPROC_HPP fn=reinterpret_cast<PFNGLGETSHADERSOURCEPROC_HPP>(_impl::_get_proc_address("glGetShaderSource",4,3));
	 fn(shader1,bufSize1,length1,source1);
}
typedef void (*PFNGLGETSHADERIVPROC_HPP)(GLuint,GLenum,GLint *);
static inline void GetShaderiv(GLuint shader1,GLenum pname1,GLint * params1)
{
	static PFNGLGETSHADERIVPROC_HPP fn=reinterpret_cast<PFNGLGETSHADERIVPROC_HPP>(_impl::_get_proc_address("glGetShaderiv",4,3));
	 fn(shader1,pname1,params1);
}
static inline const GLubyte * GetString(GLenum name1)
{
	return glGetString(name1);
}
typedef const GLubyte * (*PFNGLGETSTRINGIPROC_HPP)(GLenum,GLuint);
static inline const GLubyte * GetStringi(GLenum name1,GLuint index1)
{
	static PFNGLGETSTRINGIPROC_HPP fn=reinterpret_cast<PFNGLGETSTRINGIPROC_HPP>(_impl::_get_proc_address("glGetStringi",4,3));
	return fn(name1,index1);
}
typedef GLuint (*PFNGLGETSUBROUTINEINDEXPROC_HPP)(GLuint,GLenum,const GLchar *);
static inline GLuint GetSubroutineIndex(GLuint program1,GLenum shadertype1,const GLchar * name1)
{
	static PFNGLGETSUBROUTINEINDEXPROC_HPP fn=reinterpret_cast<PFNGLGETSUBROUTINEINDEXPROC_HPP>(_impl::_get_proc_address("glGetSubroutineIndex",4,3));
	return fn(program1,shadertype1,name1);
}
typedef GLint (*PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC_HPP)(GLuint,GLenum,const GLchar *);
static inline GLint GetSubroutineUniformLocation(GLuint program1,GLenum shadertype1,const GLchar * name1)
{
	static PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC_HPP fn=reinterpret_cast<PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC_HPP>(_impl::_get_proc_address("glGetSubroutineUniformLocation",4,3));
	return fn(program1,shadertype1,name1);
}
typedef void (*PFNGLGETSYNCIVPROC_HPP)(GLsync,GLenum,GLsizei,GLsizei *,GLint *);
static inline void GetSynciv(GLsync sync1,GLenum pname1,GLsizei bufSize1,GLsizei * length1,GLint * values1)
{
	static PFNGLGETSYNCIVPROC_HPP fn=reinterpret_cast<PFNGLGETSYNCIVPROC_HPP>(_impl::_get_proc_address("glGetSynciv",4,3));
	 fn(sync1,pname1,bufSize1,length1,values1);
}
static inline void GetTexImage(GLenum target1,GLint level1,GLenum format1,GLenum type1,void * pixels1)
{
	 glGetTexImage(target1,level1,format1,type1,pixels1);
}
static inline void GetTexLevelParameterfv(GLenum target1,GLint level1,GLenum pname1,GLfloat * params1)
{
	 glGetTexLevelParameterfv(target1,level1,pname1,params1);
}
static inline void GetTexLevelParameteriv(GLenum target1,GLint level1,GLenum pname1,GLint * params1)
{
	 glGetTexLevelParameteriv(target1,level1,pname1,params1);
}
typedef void (*PFNGLGETTEXPARAMETERIIVPROC_HPP)(GLenum,GLenum,GLint *);
static inline void GetTexParameterIiv(GLenum target1,GLenum pname1,GLint * params1)
{
	static PFNGLGETTEXPARAMETERIIVPROC_HPP fn=reinterpret_cast<PFNGLGETTEXPARAMETERIIVPROC_HPP>(_impl::_get_proc_address("glGetTexParameterIiv",4,3));
	 fn(target1,pname1,params1);
}
typedef void (*PFNGLGETTEXPARAMETERIUIVPROC_HPP)(GLenum,GLenum,GLuint *);
static inline void GetTexParameterIuiv(GLenum target1,GLenum pname1,GLuint * params1)
{
	static PFNGLGETTEXPARAMETERIUIVPROC_HPP fn=reinterpret_cast<PFNGLGETTEXPARAMETERIUIVPROC_HPP>(_impl::_get_proc_address("glGetTexParameterIuiv",4,3));
	 fn(target1,pname1,params1);
}
static inline void GetTexParameterfv(GLenum target1,GLenum pname1,GLfloat * params1)
{
	 glGetTexParameterfv(target1,pname1,params1);
}
static inline void GetTexParameteriv(GLenum target1,GLenum pname1,GLint * params1)
{
	 glGetTexParameteriv(target1,pname1,params1);
}
typedef void (*PFNGLGETTRANSFORMFEEDBACKVARYINGPROC_HPP)(GLuint,GLuint,GLsizei,GLsizei *,GLsizei *,GLenum *,GLchar *);
static inline void GetTransformFeedbackVarying(GLuint program1,GLuint index1,GLsizei bufSize1,GLsizei * length1,GLsizei * size1,GLenum * type1,GLchar * name1)
{
	static PFNGLGETTRANSFORMFEEDBACKVARYINGPROC_HPP fn=reinterpret_cast<PFNGLGETTRANSFORMFEEDBACKVARYINGPROC_HPP>(_impl::_get_proc_address("glGetTransformFeedbackVarying",4,3));
	 fn(program1,index1,bufSize1,length1,size1,type1,name1);
}
typedef GLuint (*PFNGLGETUNIFORMBLOCKINDEXPROC_HPP)(GLuint,const GLchar *);
static inline GLuint GetUniformBlockIndex(GLuint program1,const GLchar * uniformBlockName1)
{
	static PFNGLGETUNIFORMBLOCKINDEXPROC_HPP fn=reinterpret_cast<PFNGLGETUNIFORMBLOCKINDEXPROC_HPP>(_impl::_get_proc_address("glGetUniformBlockIndex",4,3));
	return fn(program1,uniformBlockName1);
}
typedef void (*PFNGLGETUNIFORMINDICESPROC_HPP)(GLuint,GLsizei,const GLchar *const*,GLuint *);
static inline void GetUniformIndices(GLuint program1,GLsizei uniformCount1,const GLchar *const* uniformNames1,GLuint * uniformIndices1)
{
	static PFNGLGETUNIFORMINDICESPROC_HPP fn=reinterpret_cast<PFNGLGETUNIFORMINDICESPROC_HPP>(_impl::_get_proc_address("glGetUniformIndices",4,3));
	 fn(program1,uniformCount1,uniformNames1,uniformIndices1);
}
typedef GLint (*PFNGLGETUNIFORMLOCATIONPROC_HPP)(GLuint,const GLchar *);
static inline GLint GetUniformLocation(GLuint program1,const GLchar * name1)
{
	static PFNGLGETUNIFORMLOCATIONPROC_HPP fn=reinterpret_cast<PFNGLGETUNIFORMLOCATIONPROC_HPP>(_impl::_get_proc_address("glGetUniformLocation",4,3));
	return fn(program1,name1);
}
typedef void (*PFNGLGETUNIFORMSUBROUTINEUIVPROC_HPP)(GLenum,GLint,GLuint *);
static inline void GetUniformSubroutineuiv(GLenum shadertype1,GLint location1,GLuint * params1)
{
	static PFNGLGETUNIFORMSUBROUTINEUIVPROC_HPP fn=reinterpret_cast<PFNGLGETUNIFORMSUBROUTINEUIVPROC_HPP>(_impl::_get_proc_address("glGetUniformSubroutineuiv",4,3));
	 fn(shadertype1,location1,params1);
}
typedef void (*PFNGLGETUNIFORMDVPROC_HPP)(GLuint,GLint,GLdouble *);
static inline void GetUniformdv(GLuint program1,GLint location1,GLdouble * params1)
{
	static PFNGLGETUNIFORMDVPROC_HPP fn=reinterpret_cast<PFNGLGETUNIFORMDVPROC_HPP>(_impl::_get_proc_address("glGetUniformdv",4,3));
	 fn(program1,location1,params1);
}
typedef void (*PFNGLGETUNIFORMFVPROC_HPP)(GLuint,GLint,GLfloat *);
static inline void GetUniformfv(GLuint program1,GLint location1,GLfloat * params1)
{
	static PFNGLGETUNIFORMFVPROC_HPP fn=reinterpret_cast<PFNGLGETUNIFORMFVPROC_HPP>(_impl::_get_proc_address("glGetUniformfv",4,3));
	 fn(program1,location1,params1);
}
typedef void (*PFNGLGETUNIFORMIVPROC_HPP)(GLuint,GLint,GLint *);
static inline void GetUniformiv(GLuint program1,GLint location1,GLint * params1)
{
	static PFNGLGETUNIFORMIVPROC_HPP fn=reinterpret_cast<PFNGLGETUNIFORMIVPROC_HPP>(_impl::_get_proc_address("glGetUniformiv",4,3));
	 fn(program1,location1,params1);
}
typedef void (*PFNGLGETUNIFORMUIVPROC_HPP)(GLuint,GLint,GLuint *);
static inline void GetUniformuiv(GLuint program1,GLint location1,GLuint * params1)
{
	static PFNGLGETUNIFORMUIVPROC_HPP fn=reinterpret_cast<PFNGLGETUNIFORMUIVPROC_HPP>(_impl::_get_proc_address("glGetUniformuiv",4,3));
	 fn(program1,location1,params1);
}
typedef void (*PFNGLGETVERTEXATTRIBIIVPROC_HPP)(GLuint,GLenum,GLint *);
static inline void GetVertexAttribIiv(GLuint index1,GLenum pname1,GLint * params1)
{
	static PFNGLGETVERTEXATTRIBIIVPROC_HPP fn=reinterpret_cast<PFNGLGETVERTEXATTRIBIIVPROC_HPP>(_impl::_get_proc_address("glGetVertexAttribIiv",4,3));
	 fn(index1,pname1,params1);
}
typedef void (*PFNGLGETVERTEXATTRIBIUIVPROC_HPP)(GLuint,GLenum,GLuint *);
static inline void GetVertexAttribIuiv(GLuint index1,GLenum pname1,GLuint * params1)
{
	static PFNGLGETVERTEXATTRIBIUIVPROC_HPP fn=reinterpret_cast<PFNGLGETVERTEXATTRIBIUIVPROC_HPP>(_impl::_get_proc_address("glGetVertexAttribIuiv",4,3));
	 fn(index1,pname1,params1);
}
typedef void (*PFNGLGETVERTEXATTRIBLDVPROC_HPP)(GLuint,GLenum,GLdouble *);
static inline void GetVertexAttribLdv(GLuint index1,GLenum pname1,GLdouble * params1)
{
	static PFNGLGETVERTEXATTRIBLDVPROC_HPP fn=reinterpret_cast<PFNGLGETVERTEXATTRIBLDVPROC_HPP>(_impl::_get_proc_address("glGetVertexAttribLdv",4,3));
	 fn(index1,pname1,params1);
}
typedef void (*PFNGLGETVERTEXATTRIBPOINTERVPROC_HPP)(GLuint,GLenum,void **);
static inline void GetVertexAttribPointerv(GLuint index1,GLenum pname1,void ** pointer1)
{
	static PFNGLGETVERTEXATTRIBPOINTERVPROC_HPP fn=reinterpret_cast<PFNGLGETVERTEXATTRIBPOINTERVPROC_HPP>(_impl::_get_proc_address("glGetVertexAttribPointerv",4,3));
	 fn(index1,pname1,pointer1);
}
typedef void (*PFNGLGETVERTEXATTRIBDVPROC_HPP)(GLuint,GLenum,GLdouble *);
static inline void GetVertexAttribdv(GLuint index1,GLenum pname1,GLdouble * params1)
{
	static PFNGLGETVERTEXATTRIBDVPROC_HPP fn=reinterpret_cast<PFNGLGETVERTEXATTRIBDVPROC_HPP>(_impl::_get_proc_address("glGetVertexAttribdv",4,3));
	 fn(index1,pname1,params1);
}
typedef void (*PFNGLGETVERTEXATTRIBFVPROC_HPP)(GLuint,GLenum,GLfloat *);
static inline void GetVertexAttribfv(GLuint index1,GLenum pname1,GLfloat * params1)
{
	static PFNGLGETVERTEXATTRIBFVPROC_HPP fn=reinterpret_cast<PFNGLGETVERTEXATTRIBFVPROC_HPP>(_impl::_get_proc_address("glGetVertexAttribfv",4,3));
	 fn(index1,pname1,params1);
}
typedef void (*PFNGLGETVERTEXATTRIBIVPROC_HPP)(GLuint,GLenum,GLint *);
static inline void GetVertexAttribiv(GLuint index1,GLenum pname1,GLint * params1)
{
	static PFNGLGETVERTEXATTRIBIVPROC_HPP fn=reinterpret_cast<PFNGLGETVERTEXATTRIBIVPROC_HPP>(_impl::_get_proc_address("glGetVertexAttribiv",4,3));
	 fn(index1,pname1,params1);
}
static inline void Hint(GLenum target1,GLenum mode1)
{
	 glHint(target1,mode1);
}
typedef void (*PFNGLINVALIDATEBUFFERDATAPROC_HPP)(GLuint);
static inline void InvalidateBufferData(GLuint buffer1)
{
	static PFNGLINVALIDATEBUFFERDATAPROC_HPP fn=reinterpret_cast<PFNGLINVALIDATEBUFFERDATAPROC_HPP>(_impl::_get_proc_address("glInvalidateBufferData",4,3));
	 fn(buffer1);
}
typedef void (*PFNGLINVALIDATEBUFFERSUBDATAPROC_HPP)(GLuint,GLintptr,GLsizeiptr);
static inline void InvalidateBufferSubData(GLuint buffer1,GLintptr offset1,GLsizeiptr length1)
{
	static PFNGLINVALIDATEBUFFERSUBDATAPROC_HPP fn=reinterpret_cast<PFNGLINVALIDATEBUFFERSUBDATAPROC_HPP>(_impl::_get_proc_address("glInvalidateBufferSubData",4,3));
	 fn(buffer1,offset1,length1);
}
typedef void (*PFNGLINVALIDATEFRAMEBUFFERPROC_HPP)(GLenum,GLsizei,const GLenum *);
static inline void InvalidateFramebuffer(GLenum target1,GLsizei numAttachments1,const GLenum * attachments1)
{
	static PFNGLINVALIDATEFRAMEBUFFERPROC_HPP fn=reinterpret_cast<PFNGLINVALIDATEFRAMEBUFFERPROC_HPP>(_impl::_get_proc_address("glInvalidateFramebuffer",4,3));
	 fn(target1,numAttachments1,attachments1);
}
typedef void (*PFNGLINVALIDATESUBFRAMEBUFFERPROC_HPP)(GLenum,GLsizei,const GLenum *,GLint,GLint,GLsizei,GLsizei);
static inline void InvalidateSubFramebuffer(GLenum target1,GLsizei numAttachments1,const GLenum * attachments1,GLint x1,GLint y1,GLsizei width1,GLsizei height1)
{
	static PFNGLINVALIDATESUBFRAMEBUFFERPROC_HPP fn=reinterpret_cast<PFNGLINVALIDATESUBFRAMEBUFFERPROC_HPP>(_impl::_get_proc_address("glInvalidateSubFramebuffer",4,3));
	 fn(target1,numAttachments1,attachments1,x1,y1,width1,height1);
}
typedef void (*PFNGLINVALIDATETEXIMAGEPROC_HPP)(GLuint,GLint);
static inline void InvalidateTexImage(GLuint texture1,GLint level1)
{
	static PFNGLINVALIDATETEXIMAGEPROC_HPP fn=reinterpret_cast<PFNGLINVALIDATETEXIMAGEPROC_HPP>(_impl::_get_proc_address("glInvalidateTexImage",4,3));
	 fn(texture1,level1);
}
typedef void (*PFNGLINVALIDATETEXSUBIMAGEPROC_HPP)(GLuint,GLint,GLint,GLint,GLint,GLsizei,GLsizei,GLsizei);
static inline void InvalidateTexSubImage(GLuint texture1,GLint level1,GLint xoffset1,GLint yoffset1,GLint zoffset1,GLsizei width1,GLsizei height1,GLsizei depth1)
{
	static PFNGLINVALIDATETEXSUBIMAGEPROC_HPP fn=reinterpret_cast<PFNGLINVALIDATETEXSUBIMAGEPROC_HPP>(_impl::_get_proc_address("glInvalidateTexSubImage",4,3));
	 fn(texture1,level1,xoffset1,yoffset1,zoffset1,width1,height1,depth1);
}
typedef GLboolean (*PFNGLISBUFFERPROC_HPP)(GLuint);
static inline GLboolean IsBuffer(GLuint buffer1)
{
	static PFNGLISBUFFERPROC_HPP fn=reinterpret_cast<PFNGLISBUFFERPROC_HPP>(_impl::_get_proc_address("glIsBuffer",4,3));
	return fn(buffer1);
}
static inline GLboolean IsEnabled(GLenum cap1)
{
	return glIsEnabled(cap1);
}
typedef GLboolean (*PFNGLISENABLEDIPROC_HPP)(GLenum,GLuint);
static inline GLboolean IsEnabledi(GLenum target1,GLuint index1)
{
	static PFNGLISENABLEDIPROC_HPP fn=reinterpret_cast<PFNGLISENABLEDIPROC_HPP>(_impl::_get_proc_address("glIsEnabledi",4,3));
	return fn(target1,index1);
}
typedef GLboolean (*PFNGLISFRAMEBUFFERPROC_HPP)(GLuint);
static inline GLboolean IsFramebuffer(GLuint framebuffer1)
{
	static PFNGLISFRAMEBUFFERPROC_HPP fn=reinterpret_cast<PFNGLISFRAMEBUFFERPROC_HPP>(_impl::_get_proc_address("glIsFramebuffer",4,3));
	return fn(framebuffer1);
}
typedef GLboolean (*PFNGLISPROGRAMPROC_HPP)(GLuint);
static inline GLboolean IsProgram(GLuint program1)
{
	static PFNGLISPROGRAMPROC_HPP fn=reinterpret_cast<PFNGLISPROGRAMPROC_HPP>(_impl::_get_proc_address("glIsProgram",4,3));
	return fn(program1);
}
typedef GLboolean (*PFNGLISPROGRAMPIPELINEPROC_HPP)(GLuint);
static inline GLboolean IsProgramPipeline(GLuint pipeline1)
{
	static PFNGLISPROGRAMPIPELINEPROC_HPP fn=reinterpret_cast<PFNGLISPROGRAMPIPELINEPROC_HPP>(_impl::_get_proc_address("glIsProgramPipeline",4,3));
	return fn(pipeline1);
}
typedef GLboolean (*PFNGLISQUERYPROC_HPP)(GLuint);
static inline GLboolean IsQuery(GLuint id1)
{
	static PFNGLISQUERYPROC_HPP fn=reinterpret_cast<PFNGLISQUERYPROC_HPP>(_impl::_get_proc_address("glIsQuery",4,3));
	return fn(id1);
}
typedef GLboolean (*PFNGLISRENDERBUFFERPROC_HPP)(GLuint);
static inline GLboolean IsRenderbuffer(GLuint renderbuffer1)
{
	static PFNGLISRENDERBUFFERPROC_HPP fn=reinterpret_cast<PFNGLISRENDERBUFFERPROC_HPP>(_impl::_get_proc_address("glIsRenderbuffer",4,3));
	return fn(renderbuffer1);
}
typedef GLboolean (*PFNGLISSAMPLERPROC_HPP)(GLuint);
static inline GLboolean IsSampler(GLuint sampler1)
{
	static PFNGLISSAMPLERPROC_HPP fn=reinterpret_cast<PFNGLISSAMPLERPROC_HPP>(_impl::_get_proc_address("glIsSampler",4,3));
	return fn(sampler1);
}
typedef GLboolean (*PFNGLISSHADERPROC_HPP)(GLuint);
static inline GLboolean IsShader(GLuint shader1)
{
	static PFNGLISSHADERPROC_HPP fn=reinterpret_cast<PFNGLISSHADERPROC_HPP>(_impl::_get_proc_address("glIsShader",4,3));
	return fn(shader1);
}
typedef GLboolean (*PFNGLISSYNCPROC_HPP)(GLsync);
static inline GLboolean IsSync(GLsync sync1)
{
	static PFNGLISSYNCPROC_HPP fn=reinterpret_cast<PFNGLISSYNCPROC_HPP>(_impl::_get_proc_address("glIsSync",4,3));
	return fn(sync1);
}
static inline GLboolean IsTexture(GLuint texture1)
{
	return glIsTexture(texture1);
}
typedef GLboolean (*PFNGLISTRANSFORMFEEDBACKPROC_HPP)(GLuint);
static inline GLboolean IsTransformFeedback(GLuint id1)
{
	static PFNGLISTRANSFORMFEEDBACKPROC_HPP fn=reinterpret_cast<PFNGLISTRANSFORMFEEDBACKPROC_HPP>(_impl::_get_proc_address("glIsTransformFeedback",4,3));
	return fn(id1);
}
typedef GLboolean (*PFNGLISVERTEXARRAYPROC_HPP)(GLuint);
static inline GLboolean IsVertexArray(GLuint array1)
{
	static PFNGLISVERTEXARRAYPROC_HPP fn=reinterpret_cast<PFNGLISVERTEXARRAYPROC_HPP>(_impl::_get_proc_address("glIsVertexArray",4,3));
	return fn(array1);
}
static inline void LineWidth(GLfloat width1)
{
	 glLineWidth(width1);
}
typedef void (*PFNGLLINKPROGRAMPROC_HPP)(GLuint);
static inline void LinkProgram(GLuint program1)
{
	static PFNGLLINKPROGRAMPROC_HPP fn=reinterpret_cast<PFNGLLINKPROGRAMPROC_HPP>(_impl::_get_proc_address("glLinkProgram",4,3));
	 fn(program1);
}
static inline void LogicOp(GLenum opcode1)
{
	 glLogicOp(opcode1);
}
typedef void * (*PFNGLMAPBUFFERPROC_HPP)(GLenum,GLenum);
static inline void * MapBuffer(GLenum target1,GLenum access1)
{
	static PFNGLMAPBUFFERPROC_HPP fn=reinterpret_cast<PFNGLMAPBUFFERPROC_HPP>(_impl::_get_proc_address("glMapBuffer",4,3));
	return fn(target1,access1);
}
typedef void * (*PFNGLMAPBUFFERRANGEPROC_HPP)(GLenum,GLintptr,GLsizeiptr,GLbitfield);
static inline void * MapBufferRange(GLenum target1,GLintptr offset1,GLsizeiptr length1,GLbitfield access1)
{
	static PFNGLMAPBUFFERRANGEPROC_HPP fn=reinterpret_cast<PFNGLMAPBUFFERRANGEPROC_HPP>(_impl::_get_proc_address("glMapBufferRange",4,3));
	return fn(target1,offset1,length1,access1);
}
typedef void (*PFNGLMEMORYBARRIERPROC_HPP)(GLbitfield);
static inline void MemoryBarrier(GLbitfield barriers1)
{
	static PFNGLMEMORYBARRIERPROC_HPP fn=reinterpret_cast<PFNGLMEMORYBARRIERPROC_HPP>(_impl::_get_proc_address("glMemoryBarrier",4,3));
	 fn(barriers1);
}
typedef void (*PFNGLMINSAMPLESHADINGPROC_HPP)(GLfloat);
static inline void MinSampleShading(GLfloat value1)
{
	static PFNGLMINSAMPLESHADINGPROC_HPP fn=reinterpret_cast<PFNGLMINSAMPLESHADINGPROC_HPP>(_impl::_get_proc_address("glMinSampleShading",4,3));
	 fn(value1);
}
typedef void (*PFNGLMULTIDRAWARRAYSPROC_HPP)(GLenum,const GLint *,const GLsizei *,GLsizei);
static inline void MultiDrawArrays(GLenum mode1,const GLint * first1,const GLsizei * count1,GLsizei drawcount1)
{
	static PFNGLMULTIDRAWARRAYSPROC_HPP fn=reinterpret_cast<PFNGLMULTIDRAWARRAYSPROC_HPP>(_impl::_get_proc_address("glMultiDrawArrays",4,3));
	 fn(mode1,first1,count1,drawcount1);
}
typedef void (*PFNGLMULTIDRAWARRAYSINDIRECTPROC_HPP)(GLenum,const void *,GLsizei,GLsizei);
static inline void MultiDrawArraysIndirect(GLenum mode1,const void * indirect1,GLsizei drawcount1,GLsizei stride1)
{
	static PFNGLMULTIDRAWARRAYSINDIRECTPROC_HPP fn=reinterpret_cast<PFNGLMULTIDRAWARRAYSINDIRECTPROC_HPP>(_impl::_get_proc_address("glMultiDrawArraysIndirect",4,3));
	 fn(mode1,indirect1,drawcount1,stride1);
}
typedef void (*PFNGLMULTIDRAWELEMENTSPROC_HPP)(GLenum,const GLsizei *,GLenum,const void *const*,GLsizei);
static inline void MultiDrawElements(GLenum mode1,const GLsizei * count1,GLenum type1,const void *const* indices1,GLsizei drawcount1)
{
	static PFNGLMULTIDRAWELEMENTSPROC_HPP fn=reinterpret_cast<PFNGLMULTIDRAWELEMENTSPROC_HPP>(_impl::_get_proc_address("glMultiDrawElements",4,3));
	 fn(mode1,count1,type1,indices1,drawcount1);
}
typedef void (*PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC_HPP)(GLenum,const GLsizei *,GLenum,const void *const*,GLsizei,const GLint *);
static inline void MultiDrawElementsBaseVertex(GLenum mode1,const GLsizei * count1,GLenum type1,const void *const* indices1,GLsizei drawcount1,const GLint * basevertex1)
{
	static PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC_HPP fn=reinterpret_cast<PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC_HPP>(_impl::_get_proc_address("glMultiDrawElementsBaseVertex",4,3));
	 fn(mode1,count1,type1,indices1,drawcount1,basevertex1);
}
typedef void (*PFNGLMULTIDRAWELEMENTSINDIRECTPROC_HPP)(GLenum,GLenum,const void *,GLsizei,GLsizei);
static inline void MultiDrawElementsIndirect(GLenum mode1,GLenum type1,const void * indirect1,GLsizei drawcount1,GLsizei stride1)
{
	static PFNGLMULTIDRAWELEMENTSINDIRECTPROC_HPP fn=reinterpret_cast<PFNGLMULTIDRAWELEMENTSINDIRECTPROC_HPP>(_impl::_get_proc_address("glMultiDrawElementsIndirect",4,3));
	 fn(mode1,type1,indirect1,drawcount1,stride1);
}
typedef void (*PFNGLOBJECTLABELPROC_HPP)(GLenum,GLuint,GLsizei,const GLchar *);
static inline void ObjectLabel(GLenum identifier1,GLuint name1,GLsizei length1,const GLchar * label1)
{
	static PFNGLOBJECTLABELPROC_HPP fn=reinterpret_cast<PFNGLOBJECTLABELPROC_HPP>(_impl::_get_proc_address("glObjectLabel",4,3));
	 fn(identifier1,name1,length1,label1);
}
typedef void (*PFNGLOBJECTPTRLABELPROC_HPP)(const void *,GLsizei,const GLchar *);
static inline void ObjectPtrLabel(const void * ptr1,GLsizei length1,const GLchar * label1)
{
	static PFNGLOBJECTPTRLABELPROC_HPP fn=reinterpret_cast<PFNGLOBJECTPTRLABELPROC_HPP>(_impl::_get_proc_address("glObjectPtrLabel",4,3));
	 fn(ptr1,length1,label1);
}
typedef void (*PFNGLPATCHPARAMETERFVPROC_HPP)(GLenum,const GLfloat *);
static inline void PatchParameterfv(GLenum pname1,const GLfloat * values1)
{
	static PFNGLPATCHPARAMETERFVPROC_HPP fn=reinterpret_cast<PFNGLPATCHPARAMETERFVPROC_HPP>(_impl::_get_proc_address("glPatchParameterfv",4,3));
	 fn(pname1,values1);
}
typedef void (*PFNGLPATCHPARAMETERIPROC_HPP)(GLenum,GLint);
static inline void PatchParameteri(GLenum pname1,GLint value1)
{
	static PFNGLPATCHPARAMETERIPROC_HPP fn=reinterpret_cast<PFNGLPATCHPARAMETERIPROC_HPP>(_impl::_get_proc_address("glPatchParameteri",4,3));
	 fn(pname1,value1);
}
typedef void (*PFNGLPAUSETRANSFORMFEEDBACKPROC_HPP)();
static inline void PauseTransformFeedback()
{
	static PFNGLPAUSETRANSFORMFEEDBACKPROC_HPP fn=reinterpret_cast<PFNGLPAUSETRANSFORMFEEDBACKPROC_HPP>(_impl::_get_proc_address("glPauseTransformFeedback",4,3));
	 fn();
}
static inline void PixelStoref(GLenum pname1,GLfloat param1)
{
	 glPixelStoref(pname1,param1);
}
static inline void PixelStorei(GLenum pname1,GLint param1)
{
	 glPixelStorei(pname1,param1);
}
typedef void (*PFNGLPOINTPARAMETERFPROC_HPP)(GLenum,GLfloat);
static inline void PointParameterf(GLenum pname1,GLfloat param1)
{
	static PFNGLPOINTPARAMETERFPROC_HPP fn=reinterpret_cast<PFNGLPOINTPARAMETERFPROC_HPP>(_impl::_get_proc_address("glPointParameterf",4,3));
	 fn(pname1,param1);
}
typedef void (*PFNGLPOINTPARAMETERFVPROC_HPP)(GLenum,const GLfloat *);
static inline void PointParameterfv(GLenum pname1,const GLfloat * params1)
{
	static PFNGLPOINTPARAMETERFVPROC_HPP fn=reinterpret_cast<PFNGLPOINTPARAMETERFVPROC_HPP>(_impl::_get_proc_address("glPointParameterfv",4,3));
	 fn(pname1,params1);
}
typedef void (*PFNGLPOINTPARAMETERIPROC_HPP)(GLenum,GLint);
static inline void PointParameteri(GLenum pname1,GLint param1)
{
	static PFNGLPOINTPARAMETERIPROC_HPP fn=reinterpret_cast<PFNGLPOINTPARAMETERIPROC_HPP>(_impl::_get_proc_address("glPointParameteri",4,3));
	 fn(pname1,param1);
}
typedef void (*PFNGLPOINTPARAMETERIVPROC_HPP)(GLenum,const GLint *);
static inline void PointParameteriv(GLenum pname1,const GLint * params1)
{
	static PFNGLPOINTPARAMETERIVPROC_HPP fn=reinterpret_cast<PFNGLPOINTPARAMETERIVPROC_HPP>(_impl::_get_proc_address("glPointParameteriv",4,3));
	 fn(pname1,params1);
}
static inline void PointSize(GLfloat size1)
{
	 glPointSize(size1);
}
static inline void PolygonMode(GLenum face1,GLenum mode1)
{
	 glPolygonMode(face1,mode1);
}
static inline void PolygonOffset(GLfloat factor1,GLfloat units1)
{
	 glPolygonOffset(factor1,units1);
}
typedef void (*PFNGLPOPDEBUGGROUPPROC_HPP)();
static inline void PopDebugGroup()
{
	static PFNGLPOPDEBUGGROUPPROC_HPP fn=reinterpret_cast<PFNGLPOPDEBUGGROUPPROC_HPP>(_impl::_get_proc_address("glPopDebugGroup",4,3));
	 fn();
}
typedef void (*PFNGLPRIMITIVERESTARTINDEXPROC_HPP)(GLuint);
static inline void PrimitiveRestartIndex(GLuint index1)
{
	static PFNGLPRIMITIVERESTARTINDEXPROC_HPP fn=reinterpret_cast<PFNGLPRIMITIVERESTARTINDEXPROC_HPP>(_impl::_get_proc_address("glPrimitiveRestartIndex",4,3));
	 fn(index1);
}
typedef void (*PFNGLPROGRAMBINARYPROC_HPP)(GLuint,GLenum,const void *,GLsizei);
static inline void ProgramBinary(GLuint program1,GLenum binaryFormat1,const void * binary1,GLsizei length1)
{
	static PFNGLPROGRAMBINARYPROC_HPP fn=reinterpret_cast<PFNGLPROGRAMBINARYPROC_HPP>(_impl::_get_proc_address("glProgramBinary",4,3));
	 fn(program1,binaryFormat1,binary1,length1);
}
typedef void (*PFNGLPROGRAMPARAMETERIPROC_HPP)(GLuint,GLenum,GLint);
static inline void ProgramParameteri(GLuint program1,GLenum pname1,GLint value1)
{
	static PFNGLPROGRAMPARAMETERIPROC_HPP fn=reinterpret_cast<PFNGLPROGRAMPARAMETERIPROC_HPP>(_impl::_get_proc_address("glProgramParameteri",4,3));
	 fn(program1,pname1,value1);
}
typedef void (*PFNGLPROGRAMUNIFORM1DPROC_HPP)(GLuint,GLint,GLdouble);
static inline void ProgramUniform1d(GLuint program1,GLint location1,GLdouble v01)
{
	static PFNGLPROGRAMUNIFORM1DPROC_HPP fn=reinterpret_cast<PFNGLPROGRAMUNIFORM1DPROC_HPP>(_impl::_get_proc_address("glProgramUniform1d",4,3));
	 fn(program1,location1,v01);
}
typedef void (*PFNGLPROGRAMUNIFORM1DVPROC_HPP)(GLuint,GLint,GLsizei,const GLdouble *);
static inline void ProgramUniform1dv(GLuint program1,GLint location1,GLsizei count1,const GLdouble * value1)
{
	static PFNGLPROGRAMUNIFORM1DVPROC_HPP fn=reinterpret_cast<PFNGLPROGRAMUNIFORM1DVPROC_HPP>(_impl::_get_proc_address("glProgramUniform1dv",4,3));
	 fn(program1,location1,count1,value1);
}
typedef void (*PFNGLPROGRAMUNIFORM1FPROC_HPP)(GLuint,GLint,GLfloat);
static inline void ProgramUniform1f(GLuint program1,GLint location1,GLfloat v01)
{
	static PFNGLPROGRAMUNIFORM1FPROC_HPP fn=reinterpret_cast<PFNGLPROGRAMUNIFORM1FPROC_HPP>(_impl::_get_proc_address("glProgramUniform1f",4,3));
	 fn(program1,location1,v01);
}
typedef void (*PFNGLPROGRAMUNIFORM1FVPROC_HPP)(GLuint,GLint,GLsizei,const GLfloat *);
static inline void ProgramUniform1fv(GLuint program1,GLint location1,GLsizei count1,const GLfloat * value1)
{
	static PFNGLPROGRAMUNIFORM1FVPROC_HPP fn=reinterpret_cast<PFNGLPROGRAMUNIFORM1FVPROC_HPP>(_impl::_get_proc_address("glProgramUniform1fv",4,3));
	 fn(program1,location1,count1,value1);
}
typedef void (*PFNGLPROGRAMUNIFORM1IPROC_HPP)(GLuint,GLint,GLint);
static inline void ProgramUniform1i(GLuint program1,GLint location1,GLint v01)
{
	static PFNGLPROGRAMUNIFORM1IPROC_HPP fn=reinterpret_cast<PFNGLPROGRAMUNIFORM1IPROC_HPP>(_impl::_get_proc_address("glProgramUniform1i",4,3));
	 fn(program1,location1,v01);
}
typedef void (*PFNGLPROGRAMUNIFORM1IVPROC_HPP)(GLuint,GLint,GLsizei,const GLint *);
static inline void ProgramUniform1iv(GLuint program1,GLint location1,GLsizei count1,const GLint * value1)
{
	static PFNGLPROGRAMUNIFORM1IVPROC_HPP fn=reinterpret_cast<PFNGLPROGRAMUNIFORM1IVPROC_HPP>(_impl::_get_proc_address("glProgramUniform1iv",4,3));
	 fn(program1,location1,count1,value1);
}
typedef void (*PFNGLPROGRAMUNIFORM1UIPROC_HPP)(GLuint,GLint,GLuint);
static inline void ProgramUniform1ui(GLuint program1,GLint location1,GLuint v01)
{
	static PFNGLPROGRAMUNIFORM1UIPROC_HPP fn=reinterpret_cast<PFNGLPROGRAMUNIFORM1UIPROC_HPP>(_impl::_get_proc_address("glProgramUniform1ui",4,3));
	 fn(program1,location1,v01);
}
typedef void (*PFNGLPROGRAMUNIFORM1UIVPROC_HPP)(GLuint,GLint,GLsizei,const GLuint *);
static inline void ProgramUniform1uiv(GLuint program1,GLint location1,GLsizei count1,const GLuint * value1)
{
	static PFNGLPROGRAMUNIFORM1UIVPROC_HPP fn=reinterpret_cast<PFNGLPROGRAMUNIFORM1UIVPROC_HPP>(_impl::_get_proc_address("glProgramUniform1uiv",4,3));
	 fn(program1,location1,count1,value1);
}
typedef void (*PFNGLPROGRAMUNIFORM2DPROC_HPP)(GLuint,GLint,GLdouble,GLdouble);
static inline void ProgramUniform2d(GLuint program1,GLint location1,GLdouble v01,GLdouble v11)
{
	static PFNGLPROGRAMUNIFORM2DPROC_HPP fn=reinterpret_cast<PFNGLPROGRAMUNIFORM2DPROC_HPP>(_impl::_get_proc_address("glProgramUniform2d",4,3));
	 fn(program1,location1,v01,v11);
}
typedef void (*PFNGLPROGRAMUNIFORM2DVPROC_HPP)(GLuint,GLint,GLsizei,const GLdouble *);
static inline void ProgramUniform2dv(GLuint program1,GLint location1,GLsizei count1,const GLdouble * value1)
{
	static PFNGLPROGRAMUNIFORM2DVPROC_HPP fn=reinterpret_cast<PFNGLPROGRAMUNIFORM2DVPROC_HPP>(_impl::_get_proc_address("glProgramUniform2dv",4,3));
	 fn(program1,location1,count1,value1);
}
typedef void (*PFNGLPROGRAMUNIFORM2FPROC_HPP)(GLuint,GLint,GLfloat,GLfloat);
static inline void ProgramUniform2f(GLuint program1,GLint location1,GLfloat v01,GLfloat v11)
{
	static PFNGLPROGRAMUNIFORM2FPROC_HPP fn=reinterpret_cast<PFNGLPROGRAMUNIFORM2FPROC_HPP>(_impl::_get_proc_address("glProgramUniform2f",4,3));
	 fn(program1,location1,v01,v11);
}
typedef void (*PFNGLPROGRAMUNIFORM2FVPROC_HPP)(GLuint,GLint,GLsizei,const GLfloat *);
static inline void ProgramUniform2fv(GLuint program1,GLint location1,GLsizei count1,const GLfloat * value1)
{
	static PFNGLPROGRAMUNIFORM2FVPROC_HPP fn=reinterpret_cast<PFNGLPROGRAMUNIFORM2FVPROC_HPP>(_impl::_get_proc_address("glProgramUniform2fv",4,3));
	 fn(program1,location1,count1,value1);
}
typedef void (*PFNGLPROGRAMUNIFORM2IPROC_HPP)(GLuint,GLint,GLint,GLint);
static inline void ProgramUniform2i(GLuint program1,GLint location1,GLint v01,GLint v11)
{
	static PFNGLPROGRAMUNIFORM2IPROC_HPP fn=reinterpret_cast<PFNGLPROGRAMUNIFORM2IPROC_HPP>(_impl::_get_proc_address("glProgramUniform2i",4,3));
	 fn(program1,location1,v01,v11);
}
typedef void (*PFNGLPROGRAMUNIFORM2IVPROC_HPP)(GLuint,GLint,GLsizei,const GLint *);
static inline void ProgramUniform2iv(GLuint program1,GLint location1,GLsizei count1,const GLint * value1)
{
	static PFNGLPROGRAMUNIFORM2IVPROC_HPP fn=reinterpret_cast<PFNGLPROGRAMUNIFORM2IVPROC_HPP>(_impl::_get_proc_address("glProgramUniform2iv",4,3));
	 fn(program1,location1,count1,value1);
}
typedef void (*PFNGLPROGRAMUNIFORM2UIPROC_HPP)(GLuint,GLint,GLuint,GLuint);
static inline void ProgramUniform2ui(GLuint program1,GLint location1,GLuint v01,GLuint v11)
{
	static PFNGLPROGRAMUNIFORM2UIPROC_HPP fn=reinterpret_cast<PFNGLPROGRAMUNIFORM2UIPROC_HPP>(_impl::_get_proc_address("glProgramUniform2ui",4,3));
	 fn(program1,location1,v01,v11);
}
typedef void (*PFNGLPROGRAMUNIFORM2UIVPROC_HPP)(GLuint,GLint,GLsizei,const GLuint *);
static inline void ProgramUniform2uiv(GLuint program1,GLint location1,GLsizei count1,const GLuint * value1)
{
	static PFNGLPROGRAMUNIFORM2UIVPROC_HPP fn=reinterpret_cast<PFNGLPROGRAMUNIFORM2UIVPROC_HPP>(_impl::_get_proc_address("glProgramUniform2uiv",4,3));
	 fn(program1,location1,count1,value1);
}
typedef void (*PFNGLPROGRAMUNIFORM3DPROC_HPP)(GLuint,GLint,GLdouble,GLdouble,GLdouble);
static inline void ProgramUniform3d(GLuint program1,GLint location1,GLdouble v01,GLdouble v11,GLdouble v21)
{
	static PFNGLPROGRAMUNIFORM3DPROC_HPP fn=reinterpret_cast<PFNGLPROGRAMUNIFORM3DPROC_HPP>(_impl::_get_proc_address("glProgramUniform3d",4,3));
	 fn(program1,location1,v01,v11,v21);
}
typedef void (*PFNGLPROGRAMUNIFORM3DVPROC_HPP)(GLuint,GLint,GLsizei,const GLdouble *);
static inline void ProgramUniform3dv(GLuint program1,GLint location1,GLsizei count1,const GLdouble * value1)
{
	static PFNGLPROGRAMUNIFORM3DVPROC_HPP fn=reinterpret_cast<PFNGLPROGRAMUNIFORM3DVPROC_HPP>(_impl::_get_proc_address("glProgramUniform3dv",4,3));
	 fn(program1,location1,count1,value1);
}
typedef void (*PFNGLPROGRAMUNIFORM3FPROC_HPP)(GLuint,GLint,GLfloat,GLfloat,GLfloat);
static inline void ProgramUniform3f(GLuint program1,GLint location1,GLfloat v01,GLfloat v11,GLfloat v21)
{
	static PFNGLPROGRAMUNIFORM3FPROC_HPP fn=reinterpret_cast<PFNGLPROGRAMUNIFORM3FPROC_HPP>(_impl::_get_proc_address("glProgramUniform3f",4,3));
	 fn(program1,location1,v01,v11,v21);
}
typedef void (*PFNGLPROGRAMUNIFORM3FVPROC_HPP)(GLuint,GLint,GLsizei,const GLfloat *);
static inline void ProgramUniform3fv(GLuint program1,GLint location1,GLsizei count1,const GLfloat * value1)
{
	static PFNGLPROGRAMUNIFORM3FVPROC_HPP fn=reinterpret_cast<PFNGLPROGRAMUNIFORM3FVPROC_HPP>(_impl::_get_proc_address("glProgramUniform3fv",4,3));
	 fn(program1,location1,count1,value1);
}
typedef void (*PFNGLPROGRAMUNIFORM3IPROC_HPP)(GLuint,GLint,GLint,GLint,GLint);
static inline void ProgramUniform3i(GLuint program1,GLint location1,GLint v01,GLint v11,GLint v21)
{
	static PFNGLPROGRAMUNIFORM3IPROC_HPP fn=reinterpret_cast<PFNGLPROGRAMUNIFORM3IPROC_HPP>(_impl::_get_proc_address("glProgramUniform3i",4,3));
	 fn(program1,location1,v01,v11,v21);
}
typedef void (*PFNGLPROGRAMUNIFORM3IVPROC_HPP)(GLuint,GLint,GLsizei,const GLint *);
static inline void ProgramUniform3iv(GLuint program1,GLint location1,GLsizei count1,const GLint * value1)
{
	static PFNGLPROGRAMUNIFORM3IVPROC_HPP fn=reinterpret_cast<PFNGLPROGRAMUNIFORM3IVPROC_HPP>(_impl::_get_proc_address("glProgramUniform3iv",4,3));
	 fn(program1,location1,count1,value1);
}
typedef void (*PFNGLPROGRAMUNIFORM3UIPROC_HPP)(GLuint,GLint,GLuint,GLuint,GLuint);
static inline void ProgramUniform3ui(GLuint program1,GLint location1,GLuint v01,GLuint v11,GLuint v21)
{
	static PFNGLPROGRAMUNIFORM3UIPROC_HPP fn=reinterpret_cast<PFNGLPROGRAMUNIFORM3UIPROC_HPP>(_impl::_get_proc_address("glProgramUniform3ui",4,3));
	 fn(program1,location1,v01,v11,v21);
}
typedef void (*PFNGLPROGRAMUNIFORM3UIVPROC_HPP)(GLuint,GLint,GLsizei,const GLuint *);
static inline void ProgramUniform3uiv(GLuint program1,GLint location1,GLsizei count1,const GLuint * value1)
{
	static PFNGLPROGRAMUNIFORM3UIVPROC_HPP fn=reinterpret_cast<PFNGLPROGRAMUNIFORM3UIVPROC_HPP>(_impl::_get_proc_address("glProgramUniform3uiv",4,3));
	 fn(program1,location1,count1,value1);
}
typedef void (*PFNGLPROGRAMUNIFORM4DPROC_HPP)(GLuint,GLint,GLdouble,GLdouble,GLdouble,GLdouble);
static inline void ProgramUniform4d(GLuint program1,GLint location1,GLdouble v01,GLdouble v11,GLdouble v21,GLdouble v31)
{
	static PFNGLPROGRAMUNIFORM4DPROC_HPP fn=reinterpret_cast<PFNGLPROGRAMUNIFORM4DPROC_HPP>(_impl::_get_proc_address("glProgramUniform4d",4,3));
	 fn(program1,location1,v01,v11,v21,v31);
}
typedef void (*PFNGLPROGRAMUNIFORM4DVPROC_HPP)(GLuint,GLint,GLsizei,const GLdouble *);
static inline void ProgramUniform4dv(GLuint program1,GLint location1,GLsizei count1,const GLdouble * value1)
{
	static PFNGLPROGRAMUNIFORM4DVPROC_HPP fn=reinterpret_cast<PFNGLPROGRAMUNIFORM4DVPROC_HPP>(_impl::_get_proc_address("glProgramUniform4dv",4,3));
	 fn(program1,location1,count1,value1);
}
typedef void (*PFNGLPROGRAMUNIFORM4FPROC_HPP)(GLuint,GLint,GLfloat,GLfloat,GLfloat,GLfloat);
static inline void ProgramUniform4f(GLuint program1,GLint location1,GLfloat v01,GLfloat v11,GLfloat v21,GLfloat v31)
{
	static PFNGLPROGRAMUNIFORM4FPROC_HPP fn=reinterpret_cast<PFNGLPROGRAMUNIFORM4FPROC_HPP>(_impl::_get_proc_address("glProgramUniform4f",4,3));
	 fn(program1,location1,v01,v11,v21,v31);
}
typedef void (*PFNGLPROGRAMUNIFORM4FVPROC_HPP)(GLuint,GLint,GLsizei,const GLfloat *);
static inline void ProgramUniform4fv(GLuint program1,GLint location1,GLsizei count1,const GLfloat * value1)
{
	static PFNGLPROGRAMUNIFORM4FVPROC_HPP fn=reinterpret_cast<PFNGLPROGRAMUNIFORM4FVPROC_HPP>(_impl::_get_proc_address("glProgramUniform4fv",4,3));
	 fn(program1,location1,count1,value1);
}
typedef void (*PFNGLPROGRAMUNIFORM4IPROC_HPP)(GLuint,GLint,GLint,GLint,GLint,GLint);
static inline void ProgramUniform4i(GLuint program1,GLint location1,GLint v01,GLint v11,GLint v21,GLint v31)
{
	static PFNGLPROGRAMUNIFORM4IPROC_HPP fn=reinterpret_cast<PFNGLPROGRAMUNIFORM4IPROC_HPP>(_impl::_get_proc_address("glProgramUniform4i",4,3));
	 fn(program1,location1,v01,v11,v21,v31);
}
typedef void (*PFNGLPROGRAMUNIFORM4IVPROC_HPP)(GLuint,GLint,GLsizei,const GLint *);
static inline void ProgramUniform4iv(GLuint program1,GLint location1,GLsizei count1,const GLint * value1)
{
	static PFNGLPROGRAMUNIFORM4IVPROC_HPP fn=reinterpret_cast<PFNGLPROGRAMUNIFORM4IVPROC_HPP>(_impl::_get_proc_address("glProgramUniform4iv",4,3));
	 fn(program1,location1,count1,value1);
}
typedef void (*PFNGLPROGRAMUNIFORM4UIPROC_HPP)(GLuint,GLint,GLuint,GLuint,GLuint,GLuint);
static inline void ProgramUniform4ui(GLuint program1,GLint location1,GLuint v01,GLuint v11,GLuint v21,GLuint v31)
{
	static PFNGLPROGRAMUNIFORM4UIPROC_HPP fn=reinterpret_cast<PFNGLPROGRAMUNIFORM4UIPROC_HPP>(_impl::_get_proc_address("glProgramUniform4ui",4,3));
	 fn(program1,location1,v01,v11,v21,v31);
}
typedef void (*PFNGLPROGRAMUNIFORM4UIVPROC_HPP)(GLuint,GLint,GLsizei,const GLuint *);
static inline void ProgramUniform4uiv(GLuint program1,GLint location1,GLsizei count1,const GLuint * value1)
{
	static PFNGLPROGRAMUNIFORM4UIVPROC_HPP fn=reinterpret_cast<PFNGLPROGRAMUNIFORM4UIVPROC_HPP>(_impl::_get_proc_address("glProgramUniform4uiv",4,3));
	 fn(program1,location1,count1,value1);
}
typedef void (*PFNGLPROGRAMUNIFORMMATRIX2DVPROC_HPP)(GLuint,GLint,GLsizei,GLboolean,const GLdouble *);
static inline void ProgramUniformMatrix2dv(GLuint program1,GLint location1,GLsizei count1,GLboolean transpose1,const GLdouble * value1)
{
	static PFNGLPROGRAMUNIFORMMATRIX2DVPROC_HPP fn=reinterpret_cast<PFNGLPROGRAMUNIFORMMATRIX2DVPROC_HPP>(_impl::_get_proc_address("glProgramUniformMatrix2dv",4,3));
	 fn(program1,location1,count1,transpose1,value1);
}
typedef void (*PFNGLPROGRAMUNIFORMMATRIX2FVPROC_HPP)(GLuint,GLint,GLsizei,GLboolean,const GLfloat *);
static inline void ProgramUniformMatrix2fv(GLuint program1,GLint location1,GLsizei count1,GLboolean transpose1,const GLfloat * value1)
{
	static PFNGLPROGRAMUNIFORMMATRIX2FVPROC_HPP fn=reinterpret_cast<PFNGLPROGRAMUNIFORMMATRIX2FVPROC_HPP>(_impl::_get_proc_address("glProgramUniformMatrix2fv",4,3));
	 fn(program1,location1,count1,transpose1,value1);
}
typedef void (*PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC_HPP)(GLuint,GLint,GLsizei,GLboolean,const GLdouble *);
static inline void ProgramUniformMatrix2x3dv(GLuint program1,GLint location1,GLsizei count1,GLboolean transpose1,const GLdouble * value1)
{
	static PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC_HPP fn=reinterpret_cast<PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC_HPP>(_impl::_get_proc_address("glProgramUniformMatrix2x3dv",4,3));
	 fn(program1,location1,count1,transpose1,value1);
}
typedef void (*PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC_HPP)(GLuint,GLint,GLsizei,GLboolean,const GLfloat *);
static inline void ProgramUniformMatrix2x3fv(GLuint program1,GLint location1,GLsizei count1,GLboolean transpose1,const GLfloat * value1)
{
	static PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC_HPP fn=reinterpret_cast<PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC_HPP>(_impl::_get_proc_address("glProgramUniformMatrix2x3fv",4,3));
	 fn(program1,location1,count1,transpose1,value1);
}
typedef void (*PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC_HPP)(GLuint,GLint,GLsizei,GLboolean,const GLdouble *);
static inline void ProgramUniformMatrix2x4dv(GLuint program1,GLint location1,GLsizei count1,GLboolean transpose1,const GLdouble * value1)
{
	static PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC_HPP fn=reinterpret_cast<PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC_HPP>(_impl::_get_proc_address("glProgramUniformMatrix2x4dv",4,3));
	 fn(program1,location1,count1,transpose1,value1);
}
typedef void (*PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC_HPP)(GLuint,GLint,GLsizei,GLboolean,const GLfloat *);
static inline void ProgramUniformMatrix2x4fv(GLuint program1,GLint location1,GLsizei count1,GLboolean transpose1,const GLfloat * value1)
{
	static PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC_HPP fn=reinterpret_cast<PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC_HPP>(_impl::_get_proc_address("glProgramUniformMatrix2x4fv",4,3));
	 fn(program1,location1,count1,transpose1,value1);
}
typedef void (*PFNGLPROGRAMUNIFORMMATRIX3DVPROC_HPP)(GLuint,GLint,GLsizei,GLboolean,const GLdouble *);
static inline void ProgramUniformMatrix3dv(GLuint program1,GLint location1,GLsizei count1,GLboolean transpose1,const GLdouble * value1)
{
	static PFNGLPROGRAMUNIFORMMATRIX3DVPROC_HPP fn=reinterpret_cast<PFNGLPROGRAMUNIFORMMATRIX3DVPROC_HPP>(_impl::_get_proc_address("glProgramUniformMatrix3dv",4,3));
	 fn(program1,location1,count1,transpose1,value1);
}
typedef void (*PFNGLPROGRAMUNIFORMMATRIX3FVPROC_HPP)(GLuint,GLint,GLsizei,GLboolean,const GLfloat *);
static inline void ProgramUniformMatrix3fv(GLuint program1,GLint location1,GLsizei count1,GLboolean transpose1,const GLfloat * value1)
{
	static PFNGLPROGRAMUNIFORMMATRIX3FVPROC_HPP fn=reinterpret_cast<PFNGLPROGRAMUNIFORMMATRIX3FVPROC_HPP>(_impl::_get_proc_address("glProgramUniformMatrix3fv",4,3));
	 fn(program1,location1,count1,transpose1,value1);
}
typedef void (*PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC_HPP)(GLuint,GLint,GLsizei,GLboolean,const GLdouble *);
static inline void ProgramUniformMatrix3x2dv(GLuint program1,GLint location1,GLsizei count1,GLboolean transpose1,const GLdouble * value1)
{
	static PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC_HPP fn=reinterpret_cast<PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC_HPP>(_impl::_get_proc_address("glProgramUniformMatrix3x2dv",4,3));
	 fn(program1,location1,count1,transpose1,value1);
}
typedef void (*PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC_HPP)(GLuint,GLint,GLsizei,GLboolean,const GLfloat *);
static inline void ProgramUniformMatrix3x2fv(GLuint program1,GLint location1,GLsizei count1,GLboolean transpose1,const GLfloat * value1)
{
	static PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC_HPP fn=reinterpret_cast<PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC_HPP>(_impl::_get_proc_address("glProgramUniformMatrix3x2fv",4,3));
	 fn(program1,location1,count1,transpose1,value1);
}
typedef void (*PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC_HPP)(GLuint,GLint,GLsizei,GLboolean,const GLdouble *);
static inline void ProgramUniformMatrix3x4dv(GLuint program1,GLint location1,GLsizei count1,GLboolean transpose1,const GLdouble * value1)
{
	static PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC_HPP fn=reinterpret_cast<PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC_HPP>(_impl::_get_proc_address("glProgramUniformMatrix3x4dv",4,3));
	 fn(program1,location1,count1,transpose1,value1);
}
typedef void (*PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC_HPP)(GLuint,GLint,GLsizei,GLboolean,const GLfloat *);
static inline void ProgramUniformMatrix3x4fv(GLuint program1,GLint location1,GLsizei count1,GLboolean transpose1,const GLfloat * value1)
{
	static PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC_HPP fn=reinterpret_cast<PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC_HPP>(_impl::_get_proc_address("glProgramUniformMatrix3x4fv",4,3));
	 fn(program1,location1,count1,transpose1,value1);
}
typedef void (*PFNGLPROGRAMUNIFORMMATRIX4DVPROC_HPP)(GLuint,GLint,GLsizei,GLboolean,const GLdouble *);
static inline void ProgramUniformMatrix4dv(GLuint program1,GLint location1,GLsizei count1,GLboolean transpose1,const GLdouble * value1)
{
	static PFNGLPROGRAMUNIFORMMATRIX4DVPROC_HPP fn=reinterpret_cast<PFNGLPROGRAMUNIFORMMATRIX4DVPROC_HPP>(_impl::_get_proc_address("glProgramUniformMatrix4dv",4,3));
	 fn(program1,location1,count1,transpose1,value1);
}
typedef void (*PFNGLPROGRAMUNIFORMMATRIX4FVPROC_HPP)(GLuint,GLint,GLsizei,GLboolean,const GLfloat *);
static inline void ProgramUniformMatrix4fv(GLuint program1,GLint location1,GLsizei count1,GLboolean transpose1,const GLfloat * value1)
{
	static PFNGLPROGRAMUNIFORMMATRIX4FVPROC_HPP fn=reinterpret_cast<PFNGLPROGRAMUNIFORMMATRIX4FVPROC_HPP>(_impl::_get_proc_address("glProgramUniformMatrix4fv",4,3));
	 fn(program1,location1,count1,transpose1,value1);
}
typedef void (*PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC_HPP)(GLuint,GLint,GLsizei,GLboolean,const GLdouble *);
static inline void ProgramUniformMatrix4x2dv(GLuint program1,GLint location1,GLsizei count1,GLboolean transpose1,const GLdouble * value1)
{
	static PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC_HPP fn=reinterpret_cast<PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC_HPP>(_impl::_get_proc_address("glProgramUniformMatrix4x2dv",4,3));
	 fn(program1,location1,count1,transpose1,value1);
}
typedef void (*PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC_HPP)(GLuint,GLint,GLsizei,GLboolean,const GLfloat *);
static inline void ProgramUniformMatrix4x2fv(GLuint program1,GLint location1,GLsizei count1,GLboolean transpose1,const GLfloat * value1)
{
	static PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC_HPP fn=reinterpret_cast<PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC_HPP>(_impl::_get_proc_address("glProgramUniformMatrix4x2fv",4,3));
	 fn(program1,location1,count1,transpose1,value1);
}
typedef void (*PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC_HPP)(GLuint,GLint,GLsizei,GLboolean,const GLdouble *);
static inline void ProgramUniformMatrix4x3dv(GLuint program1,GLint location1,GLsizei count1,GLboolean transpose1,const GLdouble * value1)
{
	static PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC_HPP fn=reinterpret_cast<PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC_HPP>(_impl::_get_proc_address("glProgramUniformMatrix4x3dv",4,3));
	 fn(program1,location1,count1,transpose1,value1);
}
typedef void (*PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC_HPP)(GLuint,GLint,GLsizei,GLboolean,const GLfloat *);
static inline void ProgramUniformMatrix4x3fv(GLuint program1,GLint location1,GLsizei count1,GLboolean transpose1,const GLfloat * value1)
{
	static PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC_HPP fn=reinterpret_cast<PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC_HPP>(_impl::_get_proc_address("glProgramUniformMatrix4x3fv",4,3));
	 fn(program1,location1,count1,transpose1,value1);
}
typedef void (*PFNGLPROVOKINGVERTEXPROC_HPP)(GLenum);
static inline void ProvokingVertex(GLenum mode1)
{
	static PFNGLPROVOKINGVERTEXPROC_HPP fn=reinterpret_cast<PFNGLPROVOKINGVERTEXPROC_HPP>(_impl::_get_proc_address("glProvokingVertex",4,3));
	 fn(mode1);
}
typedef void (*PFNGLPUSHDEBUGGROUPPROC_HPP)(GLenum,GLuint,GLsizei,const GLchar *);
static inline void PushDebugGroup(GLenum source1,GLuint id1,GLsizei length1,const GLchar * message1)
{
	static PFNGLPUSHDEBUGGROUPPROC_HPP fn=reinterpret_cast<PFNGLPUSHDEBUGGROUPPROC_HPP>(_impl::_get_proc_address("glPushDebugGroup",4,3));
	 fn(source1,id1,length1,message1);
}
typedef void (*PFNGLQUERYCOUNTERPROC_HPP)(GLuint,GLenum);
static inline void QueryCounter(GLuint id1,GLenum target1)
{
	static PFNGLQUERYCOUNTERPROC_HPP fn=reinterpret_cast<PFNGLQUERYCOUNTERPROC_HPP>(_impl::_get_proc_address("glQueryCounter",4,3));
	 fn(id1,target1);
}
static inline void ReadBuffer(GLenum src1)
{
	 glReadBuffer(src1);
}
static inline void ReadPixels(GLint x1,GLint y1,GLsizei width1,GLsizei height1,GLenum format1,GLenum type1,void * pixels1)
{
	 glReadPixels(x1,y1,width1,height1,format1,type1,pixels1);
}
typedef void (*PFNGLRELEASESHADERCOMPILERPROC_HPP)();
static inline void ReleaseShaderCompiler()
{
	static PFNGLRELEASESHADERCOMPILERPROC_HPP fn=reinterpret_cast<PFNGLRELEASESHADERCOMPILERPROC_HPP>(_impl::_get_proc_address("glReleaseShaderCompiler",4,3));
	 fn();
}
typedef void (*PFNGLRENDERBUFFERSTORAGEPROC_HPP)(GLenum,GLenum,GLsizei,GLsizei);
static inline void RenderbufferStorage(GLenum target1,GLenum internalformat1,GLsizei width1,GLsizei height1)
{
	static PFNGLRENDERBUFFERSTORAGEPROC_HPP fn=reinterpret_cast<PFNGLRENDERBUFFERSTORAGEPROC_HPP>(_impl::_get_proc_address("glRenderbufferStorage",4,3));
	 fn(target1,internalformat1,width1,height1);
}
typedef void (*PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC_HPP)(GLenum,GLsizei,GLenum,GLsizei,GLsizei);
static inline void RenderbufferStorageMultisample(GLenum target1,GLsizei samples1,GLenum internalformat1,GLsizei width1,GLsizei height1)
{
	static PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC_HPP fn=reinterpret_cast<PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC_HPP>(_impl::_get_proc_address("glRenderbufferStorageMultisample",4,3));
	 fn(target1,samples1,internalformat1,width1,height1);
}
typedef void (*PFNGLRESUMETRANSFORMFEEDBACKPROC_HPP)();
static inline void ResumeTransformFeedback()
{
	static PFNGLRESUMETRANSFORMFEEDBACKPROC_HPP fn=reinterpret_cast<PFNGLRESUMETRANSFORMFEEDBACKPROC_HPP>(_impl::_get_proc_address("glResumeTransformFeedback",4,3));
	 fn();
}
typedef void (*PFNGLSAMPLECOVERAGEPROC_HPP)(GLfloat,GLboolean);
static inline void SampleCoverage(GLfloat value1,GLboolean invert1)
{
	static PFNGLSAMPLECOVERAGEPROC_HPP fn=reinterpret_cast<PFNGLSAMPLECOVERAGEPROC_HPP>(_impl::_get_proc_address("glSampleCoverage",4,3));
	 fn(value1,invert1);
}
typedef void (*PFNGLSAMPLEMASKIPROC_HPP)(GLuint,GLbitfield);
static inline void SampleMaski(GLuint maskNumber1,GLbitfield mask1)
{
	static PFNGLSAMPLEMASKIPROC_HPP fn=reinterpret_cast<PFNGLSAMPLEMASKIPROC_HPP>(_impl::_get_proc_address("glSampleMaski",4,3));
	 fn(maskNumber1,mask1);
}
typedef void (*PFNGLSAMPLERPARAMETERIIVPROC_HPP)(GLuint,GLenum,const GLint *);
static inline void SamplerParameterIiv(GLuint sampler1,GLenum pname1,const GLint * param1)
{
	static PFNGLSAMPLERPARAMETERIIVPROC_HPP fn=reinterpret_cast<PFNGLSAMPLERPARAMETERIIVPROC_HPP>(_impl::_get_proc_address("glSamplerParameterIiv",4,3));
	 fn(sampler1,pname1,param1);
}
typedef void (*PFNGLSAMPLERPARAMETERIUIVPROC_HPP)(GLuint,GLenum,const GLuint *);
static inline void SamplerParameterIuiv(GLuint sampler1,GLenum pname1,const GLuint * param1)
{
	static PFNGLSAMPLERPARAMETERIUIVPROC_HPP fn=reinterpret_cast<PFNGLSAMPLERPARAMETERIUIVPROC_HPP>(_impl::_get_proc_address("glSamplerParameterIuiv",4,3));
	 fn(sampler1,pname1,param1);
}
typedef void (*PFNGLSAMPLERPARAMETERFPROC_HPP)(GLuint,GLenum,GLfloat);
static inline void SamplerParameterf(GLuint sampler1,GLenum pname1,GLfloat param1)
{
	static PFNGLSAMPLERPARAMETERFPROC_HPP fn=reinterpret_cast<PFNGLSAMPLERPARAMETERFPROC_HPP>(_impl::_get_proc_address("glSamplerParameterf",4,3));
	 fn(sampler1,pname1,param1);
}
typedef void (*PFNGLSAMPLERPARAMETERFVPROC_HPP)(GLuint,GLenum,const GLfloat *);
static inline void SamplerParameterfv(GLuint sampler1,GLenum pname1,const GLfloat * param1)
{
	static PFNGLSAMPLERPARAMETERFVPROC_HPP fn=reinterpret_cast<PFNGLSAMPLERPARAMETERFVPROC_HPP>(_impl::_get_proc_address("glSamplerParameterfv",4,3));
	 fn(sampler1,pname1,param1);
}
typedef void (*PFNGLSAMPLERPARAMETERIPROC_HPP)(GLuint,GLenum,GLint);
static inline void SamplerParameteri(GLuint sampler1,GLenum pname1,GLint param1)
{
	static PFNGLSAMPLERPARAMETERIPROC_HPP fn=reinterpret_cast<PFNGLSAMPLERPARAMETERIPROC_HPP>(_impl::_get_proc_address("glSamplerParameteri",4,3));
	 fn(sampler1,pname1,param1);
}
typedef void (*PFNGLSAMPLERPARAMETERIVPROC_HPP)(GLuint,GLenum,const GLint *);
static inline void SamplerParameteriv(GLuint sampler1,GLenum pname1,const GLint * param1)
{
	static PFNGLSAMPLERPARAMETERIVPROC_HPP fn=reinterpret_cast<PFNGLSAMPLERPARAMETERIVPROC_HPP>(_impl::_get_proc_address("glSamplerParameteriv",4,3));
	 fn(sampler1,pname1,param1);
}
static inline void Scissor(GLint x1,GLint y1,GLsizei width1,GLsizei height1)
{
	 glScissor(x1,y1,width1,height1);
}
typedef void (*PFNGLSCISSORARRAYVPROC_HPP)(GLuint,GLsizei,const GLint *);
static inline void ScissorArrayv(GLuint first1,GLsizei count1,const GLint * v1)
{
	static PFNGLSCISSORARRAYVPROC_HPP fn=reinterpret_cast<PFNGLSCISSORARRAYVPROC_HPP>(_impl::_get_proc_address("glScissorArrayv",4,3));
	 fn(first1,count1,v1);
}
typedef void (*PFNGLSCISSORINDEXEDPROC_HPP)(GLuint,GLint,GLint,GLsizei,GLsizei);
static inline void ScissorIndexed(GLuint index1,GLint left1,GLint bottom1,GLsizei width1,GLsizei height1)
{
	static PFNGLSCISSORINDEXEDPROC_HPP fn=reinterpret_cast<PFNGLSCISSORINDEXEDPROC_HPP>(_impl::_get_proc_address("glScissorIndexed",4,3));
	 fn(index1,left1,bottom1,width1,height1);
}
typedef void (*PFNGLSCISSORINDEXEDVPROC_HPP)(GLuint,const GLint *);
static inline void ScissorIndexedv(GLuint index1,const GLint * v1)
{
	static PFNGLSCISSORINDEXEDVPROC_HPP fn=reinterpret_cast<PFNGLSCISSORINDEXEDVPROC_HPP>(_impl::_get_proc_address("glScissorIndexedv",4,3));
	 fn(index1,v1);
}
typedef void (*PFNGLSHADERBINARYPROC_HPP)(GLsizei,const GLuint *,GLenum,const void *,GLsizei);
static inline void ShaderBinary(GLsizei count1,const GLuint * shaders1,GLenum binaryformat1,const void * binary1,GLsizei length1)
{
	static PFNGLSHADERBINARYPROC_HPP fn=reinterpret_cast<PFNGLSHADERBINARYPROC_HPP>(_impl::_get_proc_address("glShaderBinary",4,3));
	 fn(count1,shaders1,binaryformat1,binary1,length1);
}
typedef void (*PFNGLSHADERSOURCEPROC_HPP)(GLuint,GLsizei,const GLchar *const*,const GLint *);
static inline void ShaderSource(GLuint shader1,GLsizei count1,const GLchar *const* string1,const GLint * length1)
{
	static PFNGLSHADERSOURCEPROC_HPP fn=reinterpret_cast<PFNGLSHADERSOURCEPROC_HPP>(_impl::_get_proc_address("glShaderSource",4,3));
	 fn(shader1,count1,string1,length1);
}
typedef void (*PFNGLSHADERSTORAGEBLOCKBINDINGPROC_HPP)(GLuint,GLuint,GLuint);
static inline void ShaderStorageBlockBinding(GLuint program1,GLuint storageBlockIndex1,GLuint storageBlockBinding1)
{
	static PFNGLSHADERSTORAGEBLOCKBINDINGPROC_HPP fn=reinterpret_cast<PFNGLSHADERSTORAGEBLOCKBINDINGPROC_HPP>(_impl::_get_proc_address("glShaderStorageBlockBinding",4,3));
	 fn(program1,storageBlockIndex1,storageBlockBinding1);
}
static inline void StencilFunc(GLenum func1,GLint ref1,GLuint mask1)
{
	 glStencilFunc(func1,ref1,mask1);
}
typedef void (*PFNGLSTENCILFUNCSEPARATEPROC_HPP)(GLenum,GLenum,GLint,GLuint);
static inline void StencilFuncSeparate(GLenum face1,GLenum func1,GLint ref1,GLuint mask1)
{
	static PFNGLSTENCILFUNCSEPARATEPROC_HPP fn=reinterpret_cast<PFNGLSTENCILFUNCSEPARATEPROC_HPP>(_impl::_get_proc_address("glStencilFuncSeparate",4,3));
	 fn(face1,func1,ref1,mask1);
}
static inline void StencilMask(GLuint mask1)
{
	 glStencilMask(mask1);
}
typedef void (*PFNGLSTENCILMASKSEPARATEPROC_HPP)(GLenum,GLuint);
static inline void StencilMaskSeparate(GLenum face1,GLuint mask1)
{
	static PFNGLSTENCILMASKSEPARATEPROC_HPP fn=reinterpret_cast<PFNGLSTENCILMASKSEPARATEPROC_HPP>(_impl::_get_proc_address("glStencilMaskSeparate",4,3));
	 fn(face1,mask1);
}
static inline void StencilOp(GLenum fail1,GLenum zfail1,GLenum zpass1)
{
	 glStencilOp(fail1,zfail1,zpass1);
}
typedef void (*PFNGLSTENCILOPSEPARATEPROC_HPP)(GLenum,GLenum,GLenum,GLenum);
static inline void StencilOpSeparate(GLenum face1,GLenum sfail1,GLenum dpfail1,GLenum dppass1)
{
	static PFNGLSTENCILOPSEPARATEPROC_HPP fn=reinterpret_cast<PFNGLSTENCILOPSEPARATEPROC_HPP>(_impl::_get_proc_address("glStencilOpSeparate",4,3));
	 fn(face1,sfail1,dpfail1,dppass1);
}
typedef void (*PFNGLTEXBUFFERPROC_HPP)(GLenum,GLenum,GLuint);
static inline void TexBuffer(GLenum target1,GLenum internalformat1,GLuint buffer1)
{
	static PFNGLTEXBUFFERPROC_HPP fn=reinterpret_cast<PFNGLTEXBUFFERPROC_HPP>(_impl::_get_proc_address("glTexBuffer",4,3));
	 fn(target1,internalformat1,buffer1);
}
typedef void (*PFNGLTEXBUFFERRANGEPROC_HPP)(GLenum,GLenum,GLuint,GLintptr,GLsizeiptr);
static inline void TexBufferRange(GLenum target1,GLenum internalformat1,GLuint buffer1,GLintptr offset1,GLsizeiptr size1)
{
	static PFNGLTEXBUFFERRANGEPROC_HPP fn=reinterpret_cast<PFNGLTEXBUFFERRANGEPROC_HPP>(_impl::_get_proc_address("glTexBufferRange",4,3));
	 fn(target1,internalformat1,buffer1,offset1,size1);
}
static inline void TexImage1D(GLenum target1,GLint level1,GLint internalformat1,GLsizei width1,GLint border1,GLenum format1,GLenum type1,const void * pixels1)
{
	 glTexImage1D(target1,level1,internalformat1,width1,border1,format1,type1,pixels1);
}
static inline void TexImage2D(GLenum target1,GLint level1,GLint internalformat1,GLsizei width1,GLsizei height1,GLint border1,GLenum format1,GLenum type1,const void * pixels1)
{
	 glTexImage2D(target1,level1,internalformat1,width1,height1,border1,format1,type1,pixels1);
}
typedef void (*PFNGLTEXIMAGE2DMULTISAMPLEPROC_HPP)(GLenum,GLsizei,GLenum,GLsizei,GLsizei,GLboolean);
static inline void TexImage2DMultisample(GLenum target1,GLsizei samples1,GLenum internalformat1,GLsizei width1,GLsizei height1,GLboolean fixedsamplelocations1)
{
	static PFNGLTEXIMAGE2DMULTISAMPLEPROC_HPP fn=reinterpret_cast<PFNGLTEXIMAGE2DMULTISAMPLEPROC_HPP>(_impl::_get_proc_address("glTexImage2DMultisample",4,3));
	 fn(target1,samples1,internalformat1,width1,height1,fixedsamplelocations1);
}
typedef void (*PFNGLTEXIMAGE3DPROC_HPP)(GLenum,GLint,GLint,GLsizei,GLsizei,GLsizei,GLint,GLenum,GLenum,const void *);
static inline void TexImage3D(GLenum target1,GLint level1,GLint internalformat1,GLsizei width1,GLsizei height1,GLsizei depth1,GLint border1,GLenum format1,GLenum type1,const void * pixels1)
{
	static PFNGLTEXIMAGE3DPROC_HPP fn=reinterpret_cast<PFNGLTEXIMAGE3DPROC_HPP>(_impl::_get_proc_address("glTexImage3D",4,3));
	 fn(target1,level1,internalformat1,width1,height1,depth1,border1,format1,type1,pixels1);
}
typedef void (*PFNGLTEXIMAGE3DMULTISAMPLEPROC_HPP)(GLenum,GLsizei,GLenum,GLsizei,GLsizei,GLsizei,GLboolean);
static inline void TexImage3DMultisample(GLenum target1,GLsizei samples1,GLenum internalformat1,GLsizei width1,GLsizei height1,GLsizei depth1,GLboolean fixedsamplelocations1)
{
	static PFNGLTEXIMAGE3DMULTISAMPLEPROC_HPP fn=reinterpret_cast<PFNGLTEXIMAGE3DMULTISAMPLEPROC_HPP>(_impl::_get_proc_address("glTexImage3DMultisample",4,3));
	 fn(target1,samples1,internalformat1,width1,height1,depth1,fixedsamplelocations1);
}
typedef void (*PFNGLTEXPARAMETERIIVPROC_HPP)(GLenum,GLenum,const GLint *);
static inline void TexParameterIiv(GLenum target1,GLenum pname1,const GLint * params1)
{
	static PFNGLTEXPARAMETERIIVPROC_HPP fn=reinterpret_cast<PFNGLTEXPARAMETERIIVPROC_HPP>(_impl::_get_proc_address("glTexParameterIiv",4,3));
	 fn(target1,pname1,params1);
}
typedef void (*PFNGLTEXPARAMETERIUIVPROC_HPP)(GLenum,GLenum,const GLuint *);
static inline void TexParameterIuiv(GLenum target1,GLenum pname1,const GLuint * params1)
{
	static PFNGLTEXPARAMETERIUIVPROC_HPP fn=reinterpret_cast<PFNGLTEXPARAMETERIUIVPROC_HPP>(_impl::_get_proc_address("glTexParameterIuiv",4,3));
	 fn(target1,pname1,params1);
}
static inline void TexParameterf(GLenum target1,GLenum pname1,GLfloat param1)
{
	 glTexParameterf(target1,pname1,param1);
}
static inline void TexParameterfv(GLenum target1,GLenum pname1,const GLfloat * params1)
{
	 glTexParameterfv(target1,pname1,params1);
}
static inline void TexParameteri(GLenum target1,GLenum pname1,GLint param1)
{
	 glTexParameteri(target1,pname1,param1);
}
static inline void TexParameteriv(GLenum target1,GLenum pname1,const GLint * params1)
{
	 glTexParameteriv(target1,pname1,params1);
}
typedef void (*PFNGLTEXSTORAGE1DPROC_HPP)(GLenum,GLsizei,GLenum,GLsizei);
static inline void TexStorage1D(GLenum target1,GLsizei levels1,GLenum internalformat1,GLsizei width1)
{
	static PFNGLTEXSTORAGE1DPROC_HPP fn=reinterpret_cast<PFNGLTEXSTORAGE1DPROC_HPP>(_impl::_get_proc_address("glTexStorage1D",4,3));
	 fn(target1,levels1,internalformat1,width1);
}
typedef void (*PFNGLTEXSTORAGE2DPROC_HPP)(GLenum,GLsizei,GLenum,GLsizei,GLsizei);
static inline void TexStorage2D(GLenum target1,GLsizei levels1,GLenum internalformat1,GLsizei width1,GLsizei height1)
{
	static PFNGLTEXSTORAGE2DPROC_HPP fn=reinterpret_cast<PFNGLTEXSTORAGE2DPROC_HPP>(_impl::_get_proc_address("glTexStorage2D",4,3));
	 fn(target1,levels1,internalformat1,width1,height1);
}
typedef void (*PFNGLTEXSTORAGE2DMULTISAMPLEPROC_HPP)(GLenum,GLsizei,GLenum,GLsizei,GLsizei,GLboolean);
static inline void TexStorage2DMultisample(GLenum target1,GLsizei samples1,GLenum internalformat1,GLsizei width1,GLsizei height1,GLboolean fixedsamplelocations1)
{
	static PFNGLTEXSTORAGE2DMULTISAMPLEPROC_HPP fn=reinterpret_cast<PFNGLTEXSTORAGE2DMULTISAMPLEPROC_HPP>(_impl::_get_proc_address("glTexStorage2DMultisample",4,3));
	 fn(target1,samples1,internalformat1,width1,height1,fixedsamplelocations1);
}
typedef void (*PFNGLTEXSTORAGE3DPROC_HPP)(GLenum,GLsizei,GLenum,GLsizei,GLsizei,GLsizei);
static inline void TexStorage3D(GLenum target1,GLsizei levels1,GLenum internalformat1,GLsizei width1,GLsizei height1,GLsizei depth1)
{
	static PFNGLTEXSTORAGE3DPROC_HPP fn=reinterpret_cast<PFNGLTEXSTORAGE3DPROC_HPP>(_impl::_get_proc_address("glTexStorage3D",4,3));
	 fn(target1,levels1,internalformat1,width1,height1,depth1);
}
typedef void (*PFNGLTEXSTORAGE3DMULTISAMPLEPROC_HPP)(GLenum,GLsizei,GLenum,GLsizei,GLsizei,GLsizei,GLboolean);
static inline void TexStorage3DMultisample(GLenum target1,GLsizei samples1,GLenum internalformat1,GLsizei width1,GLsizei height1,GLsizei depth1,GLboolean fixedsamplelocations1)
{
	static PFNGLTEXSTORAGE3DMULTISAMPLEPROC_HPP fn=reinterpret_cast<PFNGLTEXSTORAGE3DMULTISAMPLEPROC_HPP>(_impl::_get_proc_address("glTexStorage3DMultisample",4,3));
	 fn(target1,samples1,internalformat1,width1,height1,depth1,fixedsamplelocations1);
}
static inline void TexSubImage1D(GLenum target1,GLint level1,GLint xoffset1,GLsizei width1,GLenum format1,GLenum type1,const void * pixels1)
{
	 glTexSubImage1D(target1,level1,xoffset1,width1,format1,type1,pixels1);
}
static inline void TexSubImage2D(GLenum target1,GLint level1,GLint xoffset1,GLint yoffset1,GLsizei width1,GLsizei height1,GLenum format1,GLenum type1,const void * pixels1)
{
	 glTexSubImage2D(target1,level1,xoffset1,yoffset1,width1,height1,format1,type1,pixels1);
}
typedef void (*PFNGLTEXSUBIMAGE3DPROC_HPP)(GLenum,GLint,GLint,GLint,GLint,GLsizei,GLsizei,GLsizei,GLenum,GLenum,const void *);
static inline void TexSubImage3D(GLenum target1,GLint level1,GLint xoffset1,GLint yoffset1,GLint zoffset1,GLsizei width1,GLsizei height1,GLsizei depth1,GLenum format1,GLenum type1,const void * pixels1)
{
	static PFNGLTEXSUBIMAGE3DPROC_HPP fn=reinterpret_cast<PFNGLTEXSUBIMAGE3DPROC_HPP>(_impl::_get_proc_address("glTexSubImage3D",4,3));
	 fn(target1,level1,xoffset1,yoffset1,zoffset1,width1,height1,depth1,format1,type1,pixels1);
}
typedef void (*PFNGLTEXTUREVIEWPROC_HPP)(GLuint,GLenum,GLuint,GLenum,GLuint,GLuint,GLuint,GLuint);
static inline void TextureView(GLuint texture1,GLenum target1,GLuint origtexture1,GLenum internalformat1,GLuint minlevel1,GLuint numlevels1,GLuint minlayer1,GLuint numlayers1)
{
	static PFNGLTEXTUREVIEWPROC_HPP fn=reinterpret_cast<PFNGLTEXTUREVIEWPROC_HPP>(_impl::_get_proc_address("glTextureView",4,3));
	 fn(texture1,target1,origtexture1,internalformat1,minlevel1,numlevels1,minlayer1,numlayers1);
}
typedef void (*PFNGLTRANSFORMFEEDBACKVARYINGSPROC_HPP)(GLuint,GLsizei,const GLchar *const*,GLenum);
static inline void TransformFeedbackVaryings(GLuint program1,GLsizei count1,const GLchar *const* varyings1,GLenum bufferMode1)
{
	static PFNGLTRANSFORMFEEDBACKVARYINGSPROC_HPP fn=reinterpret_cast<PFNGLTRANSFORMFEEDBACKVARYINGSPROC_HPP>(_impl::_get_proc_address("glTransformFeedbackVaryings",4,3));
	 fn(program1,count1,varyings1,bufferMode1);
}
typedef void (*PFNGLUNIFORM1DPROC_HPP)(GLint,GLdouble);
static inline void Uniform1d(GLint location1,GLdouble x1)
{
	static PFNGLUNIFORM1DPROC_HPP fn=reinterpret_cast<PFNGLUNIFORM1DPROC_HPP>(_impl::_get_proc_address("glUniform1d",4,3));
	 fn(location1,x1);
}
typedef void (*PFNGLUNIFORM1DVPROC_HPP)(GLint,GLsizei,const GLdouble *);
static inline void Uniform1dv(GLint location1,GLsizei count1,const GLdouble * value1)
{
	static PFNGLUNIFORM1DVPROC_HPP fn=reinterpret_cast<PFNGLUNIFORM1DVPROC_HPP>(_impl::_get_proc_address("glUniform1dv",4,3));
	 fn(location1,count1,value1);
}
typedef void (*PFNGLUNIFORM1FPROC_HPP)(GLint,GLfloat);
static inline void Uniform1f(GLint location1,GLfloat v01)
{
	static PFNGLUNIFORM1FPROC_HPP fn=reinterpret_cast<PFNGLUNIFORM1FPROC_HPP>(_impl::_get_proc_address("glUniform1f",4,3));
	 fn(location1,v01);
}
typedef void (*PFNGLUNIFORM1FVPROC_HPP)(GLint,GLsizei,const GLfloat *);
static inline void Uniform1fv(GLint location1,GLsizei count1,const GLfloat * value1)
{
	static PFNGLUNIFORM1FVPROC_HPP fn=reinterpret_cast<PFNGLUNIFORM1FVPROC_HPP>(_impl::_get_proc_address("glUniform1fv",4,3));
	 fn(location1,count1,value1);
}
typedef void (*PFNGLUNIFORM1IPROC_HPP)(GLint,GLint);
static inline void Uniform1i(GLint location1,GLint v01)
{
	static PFNGLUNIFORM1IPROC_HPP fn=reinterpret_cast<PFNGLUNIFORM1IPROC_HPP>(_impl::_get_proc_address("glUniform1i",4,3));
	 fn(location1,v01);
}
typedef void (*PFNGLUNIFORM1IVPROC_HPP)(GLint,GLsizei,const GLint *);
static inline void Uniform1iv(GLint location1,GLsizei count1,const GLint * value1)
{
	static PFNGLUNIFORM1IVPROC_HPP fn=reinterpret_cast<PFNGLUNIFORM1IVPROC_HPP>(_impl::_get_proc_address("glUniform1iv",4,3));
	 fn(location1,count1,value1);
}
typedef void (*PFNGLUNIFORM1UIPROC_HPP)(GLint,GLuint);
static inline void Uniform1ui(GLint location1,GLuint v01)
{
	static PFNGLUNIFORM1UIPROC_HPP fn=reinterpret_cast<PFNGLUNIFORM1UIPROC_HPP>(_impl::_get_proc_address("glUniform1ui",4,3));
	 fn(location1,v01);
}
typedef void (*PFNGLUNIFORM1UIVPROC_HPP)(GLint,GLsizei,const GLuint *);
static inline void Uniform1uiv(GLint location1,GLsizei count1,const GLuint * value1)
{
	static PFNGLUNIFORM1UIVPROC_HPP fn=reinterpret_cast<PFNGLUNIFORM1UIVPROC_HPP>(_impl::_get_proc_address("glUniform1uiv",4,3));
	 fn(location1,count1,value1);
}
typedef void (*PFNGLUNIFORM2DPROC_HPP)(GLint,GLdouble,GLdouble);
static inline void Uniform2d(GLint location1,GLdouble x1,GLdouble y1)
{
	static PFNGLUNIFORM2DPROC_HPP fn=reinterpret_cast<PFNGLUNIFORM2DPROC_HPP>(_impl::_get_proc_address("glUniform2d",4,3));
	 fn(location1,x1,y1);
}
typedef void (*PFNGLUNIFORM2DVPROC_HPP)(GLint,GLsizei,const GLdouble *);
static inline void Uniform2dv(GLint location1,GLsizei count1,const GLdouble * value1)
{
	static PFNGLUNIFORM2DVPROC_HPP fn=reinterpret_cast<PFNGLUNIFORM2DVPROC_HPP>(_impl::_get_proc_address("glUniform2dv",4,3));
	 fn(location1,count1,value1);
}
typedef void (*PFNGLUNIFORM2FPROC_HPP)(GLint,GLfloat,GLfloat);
static inline void Uniform2f(GLint location1,GLfloat v01,GLfloat v11)
{
	static PFNGLUNIFORM2FPROC_HPP fn=reinterpret_cast<PFNGLUNIFORM2FPROC_HPP>(_impl::_get_proc_address("glUniform2f",4,3));
	 fn(location1,v01,v11);
}
typedef void (*PFNGLUNIFORM2FVPROC_HPP)(GLint,GLsizei,const GLfloat *);
static inline void Uniform2fv(GLint location1,GLsizei count1,const GLfloat * value1)
{
	static PFNGLUNIFORM2FVPROC_HPP fn=reinterpret_cast<PFNGLUNIFORM2FVPROC_HPP>(_impl::_get_proc_address("glUniform2fv",4,3));
	 fn(location1,count1,value1);
}
typedef void (*PFNGLUNIFORM2IPROC_HPP)(GLint,GLint,GLint);
static inline void Uniform2i(GLint location1,GLint v01,GLint v11)
{
	static PFNGLUNIFORM2IPROC_HPP fn=reinterpret_cast<PFNGLUNIFORM2IPROC_HPP>(_impl::_get_proc_address("glUniform2i",4,3));
	 fn(location1,v01,v11);
}
typedef void (*PFNGLUNIFORM2IVPROC_HPP)(GLint,GLsizei,const GLint *);
static inline void Uniform2iv(GLint location1,GLsizei count1,const GLint * value1)
{
	static PFNGLUNIFORM2IVPROC_HPP fn=reinterpret_cast<PFNGLUNIFORM2IVPROC_HPP>(_impl::_get_proc_address("glUniform2iv",4,3));
	 fn(location1,count1,value1);
}
typedef void (*PFNGLUNIFORM2UIPROC_HPP)(GLint,GLuint,GLuint);
static inline void Uniform2ui(GLint location1,GLuint v01,GLuint v11)
{
	static PFNGLUNIFORM2UIPROC_HPP fn=reinterpret_cast<PFNGLUNIFORM2UIPROC_HPP>(_impl::_get_proc_address("glUniform2ui",4,3));
	 fn(location1,v01,v11);
}
typedef void (*PFNGLUNIFORM2UIVPROC_HPP)(GLint,GLsizei,const GLuint *);
static inline void Uniform2uiv(GLint location1,GLsizei count1,const GLuint * value1)
{
	static PFNGLUNIFORM2UIVPROC_HPP fn=reinterpret_cast<PFNGLUNIFORM2UIVPROC_HPP>(_impl::_get_proc_address("glUniform2uiv",4,3));
	 fn(location1,count1,value1);
}
typedef void (*PFNGLUNIFORM3DPROC_HPP)(GLint,GLdouble,GLdouble,GLdouble);
static inline void Uniform3d(GLint location1,GLdouble x1,GLdouble y1,GLdouble z1)
{
	static PFNGLUNIFORM3DPROC_HPP fn=reinterpret_cast<PFNGLUNIFORM3DPROC_HPP>(_impl::_get_proc_address("glUniform3d",4,3));
	 fn(location1,x1,y1,z1);
}
typedef void (*PFNGLUNIFORM3DVPROC_HPP)(GLint,GLsizei,const GLdouble *);
static inline void Uniform3dv(GLint location1,GLsizei count1,const GLdouble * value1)
{
	static PFNGLUNIFORM3DVPROC_HPP fn=reinterpret_cast<PFNGLUNIFORM3DVPROC_HPP>(_impl::_get_proc_address("glUniform3dv",4,3));
	 fn(location1,count1,value1);
}
typedef void (*PFNGLUNIFORM3FPROC_HPP)(GLint,GLfloat,GLfloat,GLfloat);
static inline void Uniform3f(GLint location1,GLfloat v01,GLfloat v11,GLfloat v21)
{
	static PFNGLUNIFORM3FPROC_HPP fn=reinterpret_cast<PFNGLUNIFORM3FPROC_HPP>(_impl::_get_proc_address("glUniform3f",4,3));
	 fn(location1,v01,v11,v21);
}
typedef void (*PFNGLUNIFORM3FVPROC_HPP)(GLint,GLsizei,const GLfloat *);
static inline void Uniform3fv(GLint location1,GLsizei count1,const GLfloat * value1)
{
	static PFNGLUNIFORM3FVPROC_HPP fn=reinterpret_cast<PFNGLUNIFORM3FVPROC_HPP>(_impl::_get_proc_address("glUniform3fv",4,3));
	 fn(location1,count1,value1);
}
typedef void (*PFNGLUNIFORM3IPROC_HPP)(GLint,GLint,GLint,GLint);
static inline void Uniform3i(GLint location1,GLint v01,GLint v11,GLint v21)
{
	static PFNGLUNIFORM3IPROC_HPP fn=reinterpret_cast<PFNGLUNIFORM3IPROC_HPP>(_impl::_get_proc_address("glUniform3i",4,3));
	 fn(location1,v01,v11,v21);
}
typedef void (*PFNGLUNIFORM3IVPROC_HPP)(GLint,GLsizei,const GLint *);
static inline void Uniform3iv(GLint location1,GLsizei count1,const GLint * value1)
{
	static PFNGLUNIFORM3IVPROC_HPP fn=reinterpret_cast<PFNGLUNIFORM3IVPROC_HPP>(_impl::_get_proc_address("glUniform3iv",4,3));
	 fn(location1,count1,value1);
}
typedef void (*PFNGLUNIFORM3UIPROC_HPP)(GLint,GLuint,GLuint,GLuint);
static inline void Uniform3ui(GLint location1,GLuint v01,GLuint v11,GLuint v21)
{
	static PFNGLUNIFORM3UIPROC_HPP fn=reinterpret_cast<PFNGLUNIFORM3UIPROC_HPP>(_impl::_get_proc_address("glUniform3ui",4,3));
	 fn(location1,v01,v11,v21);
}
typedef void (*PFNGLUNIFORM3UIVPROC_HPP)(GLint,GLsizei,const GLuint *);
static inline void Uniform3uiv(GLint location1,GLsizei count1,const GLuint * value1)
{
	static PFNGLUNIFORM3UIVPROC_HPP fn=reinterpret_cast<PFNGLUNIFORM3UIVPROC_HPP>(_impl::_get_proc_address("glUniform3uiv",4,3));
	 fn(location1,count1,value1);
}
typedef void (*PFNGLUNIFORM4DPROC_HPP)(GLint,GLdouble,GLdouble,GLdouble,GLdouble);
static inline void Uniform4d(GLint location1,GLdouble x1,GLdouble y1,GLdouble z1,GLdouble w1)
{
	static PFNGLUNIFORM4DPROC_HPP fn=reinterpret_cast<PFNGLUNIFORM4DPROC_HPP>(_impl::_get_proc_address("glUniform4d",4,3));
	 fn(location1,x1,y1,z1,w1);
}
typedef void (*PFNGLUNIFORM4DVPROC_HPP)(GLint,GLsizei,const GLdouble *);
static inline void Uniform4dv(GLint location1,GLsizei count1,const GLdouble * value1)
{
	static PFNGLUNIFORM4DVPROC_HPP fn=reinterpret_cast<PFNGLUNIFORM4DVPROC_HPP>(_impl::_get_proc_address("glUniform4dv",4,3));
	 fn(location1,count1,value1);
}
typedef void (*PFNGLUNIFORM4FPROC_HPP)(GLint,GLfloat,GLfloat,GLfloat,GLfloat);
static inline void Uniform4f(GLint location1,GLfloat v01,GLfloat v11,GLfloat v21,GLfloat v31)
{
	static PFNGLUNIFORM4FPROC_HPP fn=reinterpret_cast<PFNGLUNIFORM4FPROC_HPP>(_impl::_get_proc_address("glUniform4f",4,3));
	 fn(location1,v01,v11,v21,v31);
}
typedef void (*PFNGLUNIFORM4FVPROC_HPP)(GLint,GLsizei,const GLfloat *);
static inline void Uniform4fv(GLint location1,GLsizei count1,const GLfloat * value1)
{
	static PFNGLUNIFORM4FVPROC_HPP fn=reinterpret_cast<PFNGLUNIFORM4FVPROC_HPP>(_impl::_get_proc_address("glUniform4fv",4,3));
	 fn(location1,count1,value1);
}
typedef void (*PFNGLUNIFORM4IPROC_HPP)(GLint,GLint,GLint,GLint,GLint);
static inline void Uniform4i(GLint location1,GLint v01,GLint v11,GLint v21,GLint v31)
{
	static PFNGLUNIFORM4IPROC_HPP fn=reinterpret_cast<PFNGLUNIFORM4IPROC_HPP>(_impl::_get_proc_address("glUniform4i",4,3));
	 fn(location1,v01,v11,v21,v31);
}
typedef void (*PFNGLUNIFORM4IVPROC_HPP)(GLint,GLsizei,const GLint *);
static inline void Uniform4iv(GLint location1,GLsizei count1,const GLint * value1)
{
	static PFNGLUNIFORM4IVPROC_HPP fn=reinterpret_cast<PFNGLUNIFORM4IVPROC_HPP>(_impl::_get_proc_address("glUniform4iv",4,3));
	 fn(location1,count1,value1);
}
typedef void (*PFNGLUNIFORM4UIPROC_HPP)(GLint,GLuint,GLuint,GLuint,GLuint);
static inline void Uniform4ui(GLint location1,GLuint v01,GLuint v11,GLuint v21,GLuint v31)
{
	static PFNGLUNIFORM4UIPROC_HPP fn=reinterpret_cast<PFNGLUNIFORM4UIPROC_HPP>(_impl::_get_proc_address("glUniform4ui",4,3));
	 fn(location1,v01,v11,v21,v31);
}
typedef void (*PFNGLUNIFORM4UIVPROC_HPP)(GLint,GLsizei,const GLuint *);
static inline void Uniform4uiv(GLint location1,GLsizei count1,const GLuint * value1)
{
	static PFNGLUNIFORM4UIVPROC_HPP fn=reinterpret_cast<PFNGLUNIFORM4UIVPROC_HPP>(_impl::_get_proc_address("glUniform4uiv",4,3));
	 fn(location1,count1,value1);
}
typedef void (*PFNGLUNIFORMBLOCKBINDINGPROC_HPP)(GLuint,GLuint,GLuint);
static inline void UniformBlockBinding(GLuint program1,GLuint uniformBlockIndex1,GLuint uniformBlockBinding1)
{
	static PFNGLUNIFORMBLOCKBINDINGPROC_HPP fn=reinterpret_cast<PFNGLUNIFORMBLOCKBINDINGPROC_HPP>(_impl::_get_proc_address("glUniformBlockBinding",4,3));
	 fn(program1,uniformBlockIndex1,uniformBlockBinding1);
}
typedef void (*PFNGLUNIFORMMATRIX2DVPROC_HPP)(GLint,GLsizei,GLboolean,const GLdouble *);
static inline void UniformMatrix2dv(GLint location1,GLsizei count1,GLboolean transpose1,const GLdouble * value1)
{
	static PFNGLUNIFORMMATRIX2DVPROC_HPP fn=reinterpret_cast<PFNGLUNIFORMMATRIX2DVPROC_HPP>(_impl::_get_proc_address("glUniformMatrix2dv",4,3));
	 fn(location1,count1,transpose1,value1);
}
typedef void (*PFNGLUNIFORMMATRIX2FVPROC_HPP)(GLint,GLsizei,GLboolean,const GLfloat *);
static inline void UniformMatrix2fv(GLint location1,GLsizei count1,GLboolean transpose1,const GLfloat * value1)
{
	static PFNGLUNIFORMMATRIX2FVPROC_HPP fn=reinterpret_cast<PFNGLUNIFORMMATRIX2FVPROC_HPP>(_impl::_get_proc_address("glUniformMatrix2fv",4,3));
	 fn(location1,count1,transpose1,value1);
}
typedef void (*PFNGLUNIFORMMATRIX2X3DVPROC_HPP)(GLint,GLsizei,GLboolean,const GLdouble *);
static inline void UniformMatrix2x3dv(GLint location1,GLsizei count1,GLboolean transpose1,const GLdouble * value1)
{
	static PFNGLUNIFORMMATRIX2X3DVPROC_HPP fn=reinterpret_cast<PFNGLUNIFORMMATRIX2X3DVPROC_HPP>(_impl::_get_proc_address("glUniformMatrix2x3dv",4,3));
	 fn(location1,count1,transpose1,value1);
}
typedef void (*PFNGLUNIFORMMATRIX2X3FVPROC_HPP)(GLint,GLsizei,GLboolean,const GLfloat *);
static inline void UniformMatrix2x3fv(GLint location1,GLsizei count1,GLboolean transpose1,const GLfloat * value1)
{
	static PFNGLUNIFORMMATRIX2X3FVPROC_HPP fn=reinterpret_cast<PFNGLUNIFORMMATRIX2X3FVPROC_HPP>(_impl::_get_proc_address("glUniformMatrix2x3fv",4,3));
	 fn(location1,count1,transpose1,value1);
}
typedef void (*PFNGLUNIFORMMATRIX2X4DVPROC_HPP)(GLint,GLsizei,GLboolean,const GLdouble *);
static inline void UniformMatrix2x4dv(GLint location1,GLsizei count1,GLboolean transpose1,const GLdouble * value1)
{
	static PFNGLUNIFORMMATRIX2X4DVPROC_HPP fn=reinterpret_cast<PFNGLUNIFORMMATRIX2X4DVPROC_HPP>(_impl::_get_proc_address("glUniformMatrix2x4dv",4,3));
	 fn(location1,count1,transpose1,value1);
}
typedef void (*PFNGLUNIFORMMATRIX2X4FVPROC_HPP)(GLint,GLsizei,GLboolean,const GLfloat *);
static inline void UniformMatrix2x4fv(GLint location1,GLsizei count1,GLboolean transpose1,const GLfloat * value1)
{
	static PFNGLUNIFORMMATRIX2X4FVPROC_HPP fn=reinterpret_cast<PFNGLUNIFORMMATRIX2X4FVPROC_HPP>(_impl::_get_proc_address("glUniformMatrix2x4fv",4,3));
	 fn(location1,count1,transpose1,value1);
}
typedef void (*PFNGLUNIFORMMATRIX3DVPROC_HPP)(GLint,GLsizei,GLboolean,const GLdouble *);
static inline void UniformMatrix3dv(GLint location1,GLsizei count1,GLboolean transpose1,const GLdouble * value1)
{
	static PFNGLUNIFORMMATRIX3DVPROC_HPP fn=reinterpret_cast<PFNGLUNIFORMMATRIX3DVPROC_HPP>(_impl::_get_proc_address("glUniformMatrix3dv",4,3));
	 fn(location1,count1,transpose1,value1);
}
typedef void (*PFNGLUNIFORMMATRIX3FVPROC_HPP)(GLint,GLsizei,GLboolean,const GLfloat *);
static inline void UniformMatrix3fv(GLint location1,GLsizei count1,GLboolean transpose1,const GLfloat * value1)
{
	static PFNGLUNIFORMMATRIX3FVPROC_HPP fn=reinterpret_cast<PFNGLUNIFORMMATRIX3FVPROC_HPP>(_impl::_get_proc_address("glUniformMatrix3fv",4,3));
	 fn(location1,count1,transpose1,value1);
}
typedef void (*PFNGLUNIFORMMATRIX3X2DVPROC_HPP)(GLint,GLsizei,GLboolean,const GLdouble *);
static inline void UniformMatrix3x2dv(GLint location1,GLsizei count1,GLboolean transpose1,const GLdouble * value1)
{
	static PFNGLUNIFORMMATRIX3X2DVPROC_HPP fn=reinterpret_cast<PFNGLUNIFORMMATRIX3X2DVPROC_HPP>(_impl::_get_proc_address("glUniformMatrix3x2dv",4,3));
	 fn(location1,count1,transpose1,value1);
}
typedef void (*PFNGLUNIFORMMATRIX3X2FVPROC_HPP)(GLint,GLsizei,GLboolean,const GLfloat *);
static inline void UniformMatrix3x2fv(GLint location1,GLsizei count1,GLboolean transpose1,const GLfloat * value1)
{
	static PFNGLUNIFORMMATRIX3X2FVPROC_HPP fn=reinterpret_cast<PFNGLUNIFORMMATRIX3X2FVPROC_HPP>(_impl::_get_proc_address("glUniformMatrix3x2fv",4,3));
	 fn(location1,count1,transpose1,value1);
}
typedef void (*PFNGLUNIFORMMATRIX3X4DVPROC_HPP)(GLint,GLsizei,GLboolean,const GLdouble *);
static inline void UniformMatrix3x4dv(GLint location1,GLsizei count1,GLboolean transpose1,const GLdouble * value1)
{
	static PFNGLUNIFORMMATRIX3X4DVPROC_HPP fn=reinterpret_cast<PFNGLUNIFORMMATRIX3X4DVPROC_HPP>(_impl::_get_proc_address("glUniformMatrix3x4dv",4,3));
	 fn(location1,count1,transpose1,value1);
}
typedef void (*PFNGLUNIFORMMATRIX3X4FVPROC_HPP)(GLint,GLsizei,GLboolean,const GLfloat *);
static inline void UniformMatrix3x4fv(GLint location1,GLsizei count1,GLboolean transpose1,const GLfloat * value1)
{
	static PFNGLUNIFORMMATRIX3X4FVPROC_HPP fn=reinterpret_cast<PFNGLUNIFORMMATRIX3X4FVPROC_HPP>(_impl::_get_proc_address("glUniformMatrix3x4fv",4,3));
	 fn(location1,count1,transpose1,value1);
}
typedef void (*PFNGLUNIFORMMATRIX4DVPROC_HPP)(GLint,GLsizei,GLboolean,const GLdouble *);
static inline void UniformMatrix4dv(GLint location1,GLsizei count1,GLboolean transpose1,const GLdouble * value1)
{
	static PFNGLUNIFORMMATRIX4DVPROC_HPP fn=reinterpret_cast<PFNGLUNIFORMMATRIX4DVPROC_HPP>(_impl::_get_proc_address("glUniformMatrix4dv",4,3));
	 fn(location1,count1,transpose1,value1);
}
typedef void (*PFNGLUNIFORMMATRIX4FVPROC_HPP)(GLint,GLsizei,GLboolean,const GLfloat *);
static inline void UniformMatrix4fv(GLint location1,GLsizei count1,GLboolean transpose1,const GLfloat * value1)
{
	static PFNGLUNIFORMMATRIX4FVPROC_HPP fn=reinterpret_cast<PFNGLUNIFORMMATRIX4FVPROC_HPP>(_impl::_get_proc_address("glUniformMatrix4fv",4,3));
	 fn(location1,count1,transpose1,value1);
}
typedef void (*PFNGLUNIFORMMATRIX4X2DVPROC_HPP)(GLint,GLsizei,GLboolean,const GLdouble *);
static inline void UniformMatrix4x2dv(GLint location1,GLsizei count1,GLboolean transpose1,const GLdouble * value1)
{
	static PFNGLUNIFORMMATRIX4X2DVPROC_HPP fn=reinterpret_cast<PFNGLUNIFORMMATRIX4X2DVPROC_HPP>(_impl::_get_proc_address("glUniformMatrix4x2dv",4,3));
	 fn(location1,count1,transpose1,value1);
}
typedef void (*PFNGLUNIFORMMATRIX4X2FVPROC_HPP)(GLint,GLsizei,GLboolean,const GLfloat *);
static inline void UniformMatrix4x2fv(GLint location1,GLsizei count1,GLboolean transpose1,const GLfloat * value1)
{
	static PFNGLUNIFORMMATRIX4X2FVPROC_HPP fn=reinterpret_cast<PFNGLUNIFORMMATRIX4X2FVPROC_HPP>(_impl::_get_proc_address("glUniformMatrix4x2fv",4,3));
	 fn(location1,count1,transpose1,value1);
}
typedef void (*PFNGLUNIFORMMATRIX4X3DVPROC_HPP)(GLint,GLsizei,GLboolean,const GLdouble *);
static inline void UniformMatrix4x3dv(GLint location1,GLsizei count1,GLboolean transpose1,const GLdouble * value1)
{
	static PFNGLUNIFORMMATRIX4X3DVPROC_HPP fn=reinterpret_cast<PFNGLUNIFORMMATRIX4X3DVPROC_HPP>(_impl::_get_proc_address("glUniformMatrix4x3dv",4,3));
	 fn(location1,count1,transpose1,value1);
}
typedef void (*PFNGLUNIFORMMATRIX4X3FVPROC_HPP)(GLint,GLsizei,GLboolean,const GLfloat *);
static inline void UniformMatrix4x3fv(GLint location1,GLsizei count1,GLboolean transpose1,const GLfloat * value1)
{
	static PFNGLUNIFORMMATRIX4X3FVPROC_HPP fn=reinterpret_cast<PFNGLUNIFORMMATRIX4X3FVPROC_HPP>(_impl::_get_proc_address("glUniformMatrix4x3fv",4,3));
	 fn(location1,count1,transpose1,value1);
}
typedef void (*PFNGLUNIFORMSUBROUTINESUIVPROC_HPP)(GLenum,GLsizei,const GLuint *);
static inline void UniformSubroutinesuiv(GLenum shadertype1,GLsizei count1,const GLuint * indices1)
{
	static PFNGLUNIFORMSUBROUTINESUIVPROC_HPP fn=reinterpret_cast<PFNGLUNIFORMSUBROUTINESUIVPROC_HPP>(_impl::_get_proc_address("glUniformSubroutinesuiv",4,3));
	 fn(shadertype1,count1,indices1);
}
typedef GLboolean (*PFNGLUNMAPBUFFERPROC_HPP)(GLenum);
static inline GLboolean UnmapBuffer(GLenum target1)
{
	static PFNGLUNMAPBUFFERPROC_HPP fn=reinterpret_cast<PFNGLUNMAPBUFFERPROC_HPP>(_impl::_get_proc_address("glUnmapBuffer",4,3));
	return fn(target1);
}
typedef void (*PFNGLUSEPROGRAMPROC_HPP)(GLuint);
static inline void UseProgram(GLuint program1)
{
	static PFNGLUSEPROGRAMPROC_HPP fn=reinterpret_cast<PFNGLUSEPROGRAMPROC_HPP>(_impl::_get_proc_address("glUseProgram",4,3));
	 fn(program1);
}
typedef void (*PFNGLUSEPROGRAMSTAGESPROC_HPP)(GLuint,GLbitfield,GLuint);
static inline void UseProgramStages(GLuint pipeline1,GLbitfield stages1,GLuint program1)
{
	static PFNGLUSEPROGRAMSTAGESPROC_HPP fn=reinterpret_cast<PFNGLUSEPROGRAMSTAGESPROC_HPP>(_impl::_get_proc_address("glUseProgramStages",4,3));
	 fn(pipeline1,stages1,program1);
}
typedef void (*PFNGLVALIDATEPROGRAMPROC_HPP)(GLuint);
static inline void ValidateProgram(GLuint program1)
{
	static PFNGLVALIDATEPROGRAMPROC_HPP fn=reinterpret_cast<PFNGLVALIDATEPROGRAMPROC_HPP>(_impl::_get_proc_address("glValidateProgram",4,3));
	 fn(program1);
}
typedef void (*PFNGLVALIDATEPROGRAMPIPELINEPROC_HPP)(GLuint);
static inline void ValidateProgramPipeline(GLuint pipeline1)
{
	static PFNGLVALIDATEPROGRAMPIPELINEPROC_HPP fn=reinterpret_cast<PFNGLVALIDATEPROGRAMPIPELINEPROC_HPP>(_impl::_get_proc_address("glValidateProgramPipeline",4,3));
	 fn(pipeline1);
}
typedef void (*PFNGLVERTEXATTRIB1DPROC_HPP)(GLuint,GLdouble);
static inline void VertexAttrib1d(GLuint index1,GLdouble x1)
{
	static PFNGLVERTEXATTRIB1DPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIB1DPROC_HPP>(_impl::_get_proc_address("glVertexAttrib1d",4,3));
	 fn(index1,x1);
}
typedef void (*PFNGLVERTEXATTRIB1DVPROC_HPP)(GLuint,const GLdouble *);
static inline void VertexAttrib1dv(GLuint index1,const GLdouble * v1)
{
	static PFNGLVERTEXATTRIB1DVPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIB1DVPROC_HPP>(_impl::_get_proc_address("glVertexAttrib1dv",4,3));
	 fn(index1,v1);
}
typedef void (*PFNGLVERTEXATTRIB1FPROC_HPP)(GLuint,GLfloat);
static inline void VertexAttrib1f(GLuint index1,GLfloat x1)
{
	static PFNGLVERTEXATTRIB1FPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIB1FPROC_HPP>(_impl::_get_proc_address("glVertexAttrib1f",4,3));
	 fn(index1,x1);
}
typedef void (*PFNGLVERTEXATTRIB1FVPROC_HPP)(GLuint,const GLfloat *);
static inline void VertexAttrib1fv(GLuint index1,const GLfloat * v1)
{
	static PFNGLVERTEXATTRIB1FVPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIB1FVPROC_HPP>(_impl::_get_proc_address("glVertexAttrib1fv",4,3));
	 fn(index1,v1);
}
typedef void (*PFNGLVERTEXATTRIB1SPROC_HPP)(GLuint,GLshort);
static inline void VertexAttrib1s(GLuint index1,GLshort x1)
{
	static PFNGLVERTEXATTRIB1SPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIB1SPROC_HPP>(_impl::_get_proc_address("glVertexAttrib1s",4,3));
	 fn(index1,x1);
}
typedef void (*PFNGLVERTEXATTRIB1SVPROC_HPP)(GLuint,const GLshort *);
static inline void VertexAttrib1sv(GLuint index1,const GLshort * v1)
{
	static PFNGLVERTEXATTRIB1SVPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIB1SVPROC_HPP>(_impl::_get_proc_address("glVertexAttrib1sv",4,3));
	 fn(index1,v1);
}
typedef void (*PFNGLVERTEXATTRIB2DPROC_HPP)(GLuint,GLdouble,GLdouble);
static inline void VertexAttrib2d(GLuint index1,GLdouble x1,GLdouble y1)
{
	static PFNGLVERTEXATTRIB2DPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIB2DPROC_HPP>(_impl::_get_proc_address("glVertexAttrib2d",4,3));
	 fn(index1,x1,y1);
}
typedef void (*PFNGLVERTEXATTRIB2DVPROC_HPP)(GLuint,const GLdouble *);
static inline void VertexAttrib2dv(GLuint index1,const GLdouble * v1)
{
	static PFNGLVERTEXATTRIB2DVPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIB2DVPROC_HPP>(_impl::_get_proc_address("glVertexAttrib2dv",4,3));
	 fn(index1,v1);
}
typedef void (*PFNGLVERTEXATTRIB2FPROC_HPP)(GLuint,GLfloat,GLfloat);
static inline void VertexAttrib2f(GLuint index1,GLfloat x1,GLfloat y1)
{
	static PFNGLVERTEXATTRIB2FPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIB2FPROC_HPP>(_impl::_get_proc_address("glVertexAttrib2f",4,3));
	 fn(index1,x1,y1);
}
typedef void (*PFNGLVERTEXATTRIB2FVPROC_HPP)(GLuint,const GLfloat *);
static inline void VertexAttrib2fv(GLuint index1,const GLfloat * v1)
{
	static PFNGLVERTEXATTRIB2FVPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIB2FVPROC_HPP>(_impl::_get_proc_address("glVertexAttrib2fv",4,3));
	 fn(index1,v1);
}
typedef void (*PFNGLVERTEXATTRIB2SPROC_HPP)(GLuint,GLshort,GLshort);
static inline void VertexAttrib2s(GLuint index1,GLshort x1,GLshort y1)
{
	static PFNGLVERTEXATTRIB2SPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIB2SPROC_HPP>(_impl::_get_proc_address("glVertexAttrib2s",4,3));
	 fn(index1,x1,y1);
}
typedef void (*PFNGLVERTEXATTRIB2SVPROC_HPP)(GLuint,const GLshort *);
static inline void VertexAttrib2sv(GLuint index1,const GLshort * v1)
{
	static PFNGLVERTEXATTRIB2SVPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIB2SVPROC_HPP>(_impl::_get_proc_address("glVertexAttrib2sv",4,3));
	 fn(index1,v1);
}
typedef void (*PFNGLVERTEXATTRIB3DPROC_HPP)(GLuint,GLdouble,GLdouble,GLdouble);
static inline void VertexAttrib3d(GLuint index1,GLdouble x1,GLdouble y1,GLdouble z1)
{
	static PFNGLVERTEXATTRIB3DPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIB3DPROC_HPP>(_impl::_get_proc_address("glVertexAttrib3d",4,3));
	 fn(index1,x1,y1,z1);
}
typedef void (*PFNGLVERTEXATTRIB3DVPROC_HPP)(GLuint,const GLdouble *);
static inline void VertexAttrib3dv(GLuint index1,const GLdouble * v1)
{
	static PFNGLVERTEXATTRIB3DVPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIB3DVPROC_HPP>(_impl::_get_proc_address("glVertexAttrib3dv",4,3));
	 fn(index1,v1);
}
typedef void (*PFNGLVERTEXATTRIB3FPROC_HPP)(GLuint,GLfloat,GLfloat,GLfloat);
static inline void VertexAttrib3f(GLuint index1,GLfloat x1,GLfloat y1,GLfloat z1)
{
	static PFNGLVERTEXATTRIB3FPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIB3FPROC_HPP>(_impl::_get_proc_address("glVertexAttrib3f",4,3));
	 fn(index1,x1,y1,z1);
}
typedef void (*PFNGLVERTEXATTRIB3FVPROC_HPP)(GLuint,const GLfloat *);
static inline void VertexAttrib3fv(GLuint index1,const GLfloat * v1)
{
	static PFNGLVERTEXATTRIB3FVPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIB3FVPROC_HPP>(_impl::_get_proc_address("glVertexAttrib3fv",4,3));
	 fn(index1,v1);
}
typedef void (*PFNGLVERTEXATTRIB3SPROC_HPP)(GLuint,GLshort,GLshort,GLshort);
static inline void VertexAttrib3s(GLuint index1,GLshort x1,GLshort y1,GLshort z1)
{
	static PFNGLVERTEXATTRIB3SPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIB3SPROC_HPP>(_impl::_get_proc_address("glVertexAttrib3s",4,3));
	 fn(index1,x1,y1,z1);
}
typedef void (*PFNGLVERTEXATTRIB3SVPROC_HPP)(GLuint,const GLshort *);
static inline void VertexAttrib3sv(GLuint index1,const GLshort * v1)
{
	static PFNGLVERTEXATTRIB3SVPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIB3SVPROC_HPP>(_impl::_get_proc_address("glVertexAttrib3sv",4,3));
	 fn(index1,v1);
}
typedef void (*PFNGLVERTEXATTRIB4NBVPROC_HPP)(GLuint,const GLbyte *);
static inline void VertexAttrib4Nbv(GLuint index1,const GLbyte * v1)
{
	static PFNGLVERTEXATTRIB4NBVPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIB4NBVPROC_HPP>(_impl::_get_proc_address("glVertexAttrib4Nbv",4,3));
	 fn(index1,v1);
}
typedef void (*PFNGLVERTEXATTRIB4NIVPROC_HPP)(GLuint,const GLint *);
static inline void VertexAttrib4Niv(GLuint index1,const GLint * v1)
{
	static PFNGLVERTEXATTRIB4NIVPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIB4NIVPROC_HPP>(_impl::_get_proc_address("glVertexAttrib4Niv",4,3));
	 fn(index1,v1);
}
typedef void (*PFNGLVERTEXATTRIB4NSVPROC_HPP)(GLuint,const GLshort *);
static inline void VertexAttrib4Nsv(GLuint index1,const GLshort * v1)
{
	static PFNGLVERTEXATTRIB4NSVPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIB4NSVPROC_HPP>(_impl::_get_proc_address("glVertexAttrib4Nsv",4,3));
	 fn(index1,v1);
}
typedef void (*PFNGLVERTEXATTRIB4NUBPROC_HPP)(GLuint,GLubyte,GLubyte,GLubyte,GLubyte);
static inline void VertexAttrib4Nub(GLuint index1,GLubyte x1,GLubyte y1,GLubyte z1,GLubyte w1)
{
	static PFNGLVERTEXATTRIB4NUBPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIB4NUBPROC_HPP>(_impl::_get_proc_address("glVertexAttrib4Nub",4,3));
	 fn(index1,x1,y1,z1,w1);
}
typedef void (*PFNGLVERTEXATTRIB4NUBVPROC_HPP)(GLuint,const GLubyte *);
static inline void VertexAttrib4Nubv(GLuint index1,const GLubyte * v1)
{
	static PFNGLVERTEXATTRIB4NUBVPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIB4NUBVPROC_HPP>(_impl::_get_proc_address("glVertexAttrib4Nubv",4,3));
	 fn(index1,v1);
}
typedef void (*PFNGLVERTEXATTRIB4NUIVPROC_HPP)(GLuint,const GLuint *);
static inline void VertexAttrib4Nuiv(GLuint index1,const GLuint * v1)
{
	static PFNGLVERTEXATTRIB4NUIVPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIB4NUIVPROC_HPP>(_impl::_get_proc_address("glVertexAttrib4Nuiv",4,3));
	 fn(index1,v1);
}
typedef void (*PFNGLVERTEXATTRIB4NUSVPROC_HPP)(GLuint,const GLushort *);
static inline void VertexAttrib4Nusv(GLuint index1,const GLushort * v1)
{
	static PFNGLVERTEXATTRIB4NUSVPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIB4NUSVPROC_HPP>(_impl::_get_proc_address("glVertexAttrib4Nusv",4,3));
	 fn(index1,v1);
}
typedef void (*PFNGLVERTEXATTRIB4BVPROC_HPP)(GLuint,const GLbyte *);
static inline void VertexAttrib4bv(GLuint index1,const GLbyte * v1)
{
	static PFNGLVERTEXATTRIB4BVPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIB4BVPROC_HPP>(_impl::_get_proc_address("glVertexAttrib4bv",4,3));
	 fn(index1,v1);
}
typedef void (*PFNGLVERTEXATTRIB4DPROC_HPP)(GLuint,GLdouble,GLdouble,GLdouble,GLdouble);
static inline void VertexAttrib4d(GLuint index1,GLdouble x1,GLdouble y1,GLdouble z1,GLdouble w1)
{
	static PFNGLVERTEXATTRIB4DPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIB4DPROC_HPP>(_impl::_get_proc_address("glVertexAttrib4d",4,3));
	 fn(index1,x1,y1,z1,w1);
}
typedef void (*PFNGLVERTEXATTRIB4DVPROC_HPP)(GLuint,const GLdouble *);
static inline void VertexAttrib4dv(GLuint index1,const GLdouble * v1)
{
	static PFNGLVERTEXATTRIB4DVPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIB4DVPROC_HPP>(_impl::_get_proc_address("glVertexAttrib4dv",4,3));
	 fn(index1,v1);
}
typedef void (*PFNGLVERTEXATTRIB4FPROC_HPP)(GLuint,GLfloat,GLfloat,GLfloat,GLfloat);
static inline void VertexAttrib4f(GLuint index1,GLfloat x1,GLfloat y1,GLfloat z1,GLfloat w1)
{
	static PFNGLVERTEXATTRIB4FPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIB4FPROC_HPP>(_impl::_get_proc_address("glVertexAttrib4f",4,3));
	 fn(index1,x1,y1,z1,w1);
}
typedef void (*PFNGLVERTEXATTRIB4FVPROC_HPP)(GLuint,const GLfloat *);
static inline void VertexAttrib4fv(GLuint index1,const GLfloat * v1)
{
	static PFNGLVERTEXATTRIB4FVPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIB4FVPROC_HPP>(_impl::_get_proc_address("glVertexAttrib4fv",4,3));
	 fn(index1,v1);
}
typedef void (*PFNGLVERTEXATTRIB4IVPROC_HPP)(GLuint,const GLint *);
static inline void VertexAttrib4iv(GLuint index1,const GLint * v1)
{
	static PFNGLVERTEXATTRIB4IVPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIB4IVPROC_HPP>(_impl::_get_proc_address("glVertexAttrib4iv",4,3));
	 fn(index1,v1);
}
typedef void (*PFNGLVERTEXATTRIB4SPROC_HPP)(GLuint,GLshort,GLshort,GLshort,GLshort);
static inline void VertexAttrib4s(GLuint index1,GLshort x1,GLshort y1,GLshort z1,GLshort w1)
{
	static PFNGLVERTEXATTRIB4SPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIB4SPROC_HPP>(_impl::_get_proc_address("glVertexAttrib4s",4,3));
	 fn(index1,x1,y1,z1,w1);
}
typedef void (*PFNGLVERTEXATTRIB4SVPROC_HPP)(GLuint,const GLshort *);
static inline void VertexAttrib4sv(GLuint index1,const GLshort * v1)
{
	static PFNGLVERTEXATTRIB4SVPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIB4SVPROC_HPP>(_impl::_get_proc_address("glVertexAttrib4sv",4,3));
	 fn(index1,v1);
}
typedef void (*PFNGLVERTEXATTRIB4UBVPROC_HPP)(GLuint,const GLubyte *);
static inline void VertexAttrib4ubv(GLuint index1,const GLubyte * v1)
{
	static PFNGLVERTEXATTRIB4UBVPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIB4UBVPROC_HPP>(_impl::_get_proc_address("glVertexAttrib4ubv",4,3));
	 fn(index1,v1);
}
typedef void (*PFNGLVERTEXATTRIB4UIVPROC_HPP)(GLuint,const GLuint *);
static inline void VertexAttrib4uiv(GLuint index1,const GLuint * v1)
{
	static PFNGLVERTEXATTRIB4UIVPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIB4UIVPROC_HPP>(_impl::_get_proc_address("glVertexAttrib4uiv",4,3));
	 fn(index1,v1);
}
typedef void (*PFNGLVERTEXATTRIB4USVPROC_HPP)(GLuint,const GLushort *);
static inline void VertexAttrib4usv(GLuint index1,const GLushort * v1)
{
	static PFNGLVERTEXATTRIB4USVPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIB4USVPROC_HPP>(_impl::_get_proc_address("glVertexAttrib4usv",4,3));
	 fn(index1,v1);
}
typedef void (*PFNGLVERTEXATTRIBBINDINGPROC_HPP)(GLuint,GLuint);
static inline void VertexAttribBinding(GLuint attribindex1,GLuint bindingindex1)
{
	static PFNGLVERTEXATTRIBBINDINGPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIBBINDINGPROC_HPP>(_impl::_get_proc_address("glVertexAttribBinding",4,3));
	 fn(attribindex1,bindingindex1);
}
typedef void (*PFNGLVERTEXATTRIBDIVISORPROC_HPP)(GLuint,GLuint);
static inline void VertexAttribDivisor(GLuint index1,GLuint divisor1)
{
	static PFNGLVERTEXATTRIBDIVISORPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIBDIVISORPROC_HPP>(_impl::_get_proc_address("glVertexAttribDivisor",4,3));
	 fn(index1,divisor1);
}
typedef void (*PFNGLVERTEXATTRIBFORMATPROC_HPP)(GLuint,GLint,GLenum,GLboolean,GLuint);
static inline void VertexAttribFormat(GLuint attribindex1,GLint size1,GLenum type1,GLboolean normalized1,GLuint relativeoffset1)
{
	static PFNGLVERTEXATTRIBFORMATPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIBFORMATPROC_HPP>(_impl::_get_proc_address("glVertexAttribFormat",4,3));
	 fn(attribindex1,size1,type1,normalized1,relativeoffset1);
}
typedef void (*PFNGLVERTEXATTRIBI1IPROC_HPP)(GLuint,GLint);
static inline void VertexAttribI1i(GLuint index1,GLint x1)
{
	static PFNGLVERTEXATTRIBI1IPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIBI1IPROC_HPP>(_impl::_get_proc_address("glVertexAttribI1i",4,3));
	 fn(index1,x1);
}
typedef void (*PFNGLVERTEXATTRIBI1IVPROC_HPP)(GLuint,const GLint *);
static inline void VertexAttribI1iv(GLuint index1,const GLint * v1)
{
	static PFNGLVERTEXATTRIBI1IVPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIBI1IVPROC_HPP>(_impl::_get_proc_address("glVertexAttribI1iv",4,3));
	 fn(index1,v1);
}
typedef void (*PFNGLVERTEXATTRIBI1UIPROC_HPP)(GLuint,GLuint);
static inline void VertexAttribI1ui(GLuint index1,GLuint x1)
{
	static PFNGLVERTEXATTRIBI1UIPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIBI1UIPROC_HPP>(_impl::_get_proc_address("glVertexAttribI1ui",4,3));
	 fn(index1,x1);
}
typedef void (*PFNGLVERTEXATTRIBI1UIVPROC_HPP)(GLuint,const GLuint *);
static inline void VertexAttribI1uiv(GLuint index1,const GLuint * v1)
{
	static PFNGLVERTEXATTRIBI1UIVPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIBI1UIVPROC_HPP>(_impl::_get_proc_address("glVertexAttribI1uiv",4,3));
	 fn(index1,v1);
}
typedef void (*PFNGLVERTEXATTRIBI2IPROC_HPP)(GLuint,GLint,GLint);
static inline void VertexAttribI2i(GLuint index1,GLint x1,GLint y1)
{
	static PFNGLVERTEXATTRIBI2IPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIBI2IPROC_HPP>(_impl::_get_proc_address("glVertexAttribI2i",4,3));
	 fn(index1,x1,y1);
}
typedef void (*PFNGLVERTEXATTRIBI2IVPROC_HPP)(GLuint,const GLint *);
static inline void VertexAttribI2iv(GLuint index1,const GLint * v1)
{
	static PFNGLVERTEXATTRIBI2IVPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIBI2IVPROC_HPP>(_impl::_get_proc_address("glVertexAttribI2iv",4,3));
	 fn(index1,v1);
}
typedef void (*PFNGLVERTEXATTRIBI2UIPROC_HPP)(GLuint,GLuint,GLuint);
static inline void VertexAttribI2ui(GLuint index1,GLuint x1,GLuint y1)
{
	static PFNGLVERTEXATTRIBI2UIPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIBI2UIPROC_HPP>(_impl::_get_proc_address("glVertexAttribI2ui",4,3));
	 fn(index1,x1,y1);
}
typedef void (*PFNGLVERTEXATTRIBI2UIVPROC_HPP)(GLuint,const GLuint *);
static inline void VertexAttribI2uiv(GLuint index1,const GLuint * v1)
{
	static PFNGLVERTEXATTRIBI2UIVPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIBI2UIVPROC_HPP>(_impl::_get_proc_address("glVertexAttribI2uiv",4,3));
	 fn(index1,v1);
}
typedef void (*PFNGLVERTEXATTRIBI3IPROC_HPP)(GLuint,GLint,GLint,GLint);
static inline void VertexAttribI3i(GLuint index1,GLint x1,GLint y1,GLint z1)
{
	static PFNGLVERTEXATTRIBI3IPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIBI3IPROC_HPP>(_impl::_get_proc_address("glVertexAttribI3i",4,3));
	 fn(index1,x1,y1,z1);
}
typedef void (*PFNGLVERTEXATTRIBI3IVPROC_HPP)(GLuint,const GLint *);
static inline void VertexAttribI3iv(GLuint index1,const GLint * v1)
{
	static PFNGLVERTEXATTRIBI3IVPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIBI3IVPROC_HPP>(_impl::_get_proc_address("glVertexAttribI3iv",4,3));
	 fn(index1,v1);
}
typedef void (*PFNGLVERTEXATTRIBI3UIPROC_HPP)(GLuint,GLuint,GLuint,GLuint);
static inline void VertexAttribI3ui(GLuint index1,GLuint x1,GLuint y1,GLuint z1)
{
	static PFNGLVERTEXATTRIBI3UIPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIBI3UIPROC_HPP>(_impl::_get_proc_address("glVertexAttribI3ui",4,3));
	 fn(index1,x1,y1,z1);
}
typedef void (*PFNGLVERTEXATTRIBI3UIVPROC_HPP)(GLuint,const GLuint *);
static inline void VertexAttribI3uiv(GLuint index1,const GLuint * v1)
{
	static PFNGLVERTEXATTRIBI3UIVPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIBI3UIVPROC_HPP>(_impl::_get_proc_address("glVertexAttribI3uiv",4,3));
	 fn(index1,v1);
}
typedef void (*PFNGLVERTEXATTRIBI4BVPROC_HPP)(GLuint,const GLbyte *);
static inline void VertexAttribI4bv(GLuint index1,const GLbyte * v1)
{
	static PFNGLVERTEXATTRIBI4BVPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIBI4BVPROC_HPP>(_impl::_get_proc_address("glVertexAttribI4bv",4,3));
	 fn(index1,v1);
}
typedef void (*PFNGLVERTEXATTRIBI4IPROC_HPP)(GLuint,GLint,GLint,GLint,GLint);
static inline void VertexAttribI4i(GLuint index1,GLint x1,GLint y1,GLint z1,GLint w1)
{
	static PFNGLVERTEXATTRIBI4IPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIBI4IPROC_HPP>(_impl::_get_proc_address("glVertexAttribI4i",4,3));
	 fn(index1,x1,y1,z1,w1);
}
typedef void (*PFNGLVERTEXATTRIBI4IVPROC_HPP)(GLuint,const GLint *);
static inline void VertexAttribI4iv(GLuint index1,const GLint * v1)
{
	static PFNGLVERTEXATTRIBI4IVPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIBI4IVPROC_HPP>(_impl::_get_proc_address("glVertexAttribI4iv",4,3));
	 fn(index1,v1);
}
typedef void (*PFNGLVERTEXATTRIBI4SVPROC_HPP)(GLuint,const GLshort *);
static inline void VertexAttribI4sv(GLuint index1,const GLshort * v1)
{
	static PFNGLVERTEXATTRIBI4SVPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIBI4SVPROC_HPP>(_impl::_get_proc_address("glVertexAttribI4sv",4,3));
	 fn(index1,v1);
}
typedef void (*PFNGLVERTEXATTRIBI4UBVPROC_HPP)(GLuint,const GLubyte *);
static inline void VertexAttribI4ubv(GLuint index1,const GLubyte * v1)
{
	static PFNGLVERTEXATTRIBI4UBVPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIBI4UBVPROC_HPP>(_impl::_get_proc_address("glVertexAttribI4ubv",4,3));
	 fn(index1,v1);
}
typedef void (*PFNGLVERTEXATTRIBI4UIPROC_HPP)(GLuint,GLuint,GLuint,GLuint,GLuint);
static inline void VertexAttribI4ui(GLuint index1,GLuint x1,GLuint y1,GLuint z1,GLuint w1)
{
	static PFNGLVERTEXATTRIBI4UIPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIBI4UIPROC_HPP>(_impl::_get_proc_address("glVertexAttribI4ui",4,3));
	 fn(index1,x1,y1,z1,w1);
}
typedef void (*PFNGLVERTEXATTRIBI4UIVPROC_HPP)(GLuint,const GLuint *);
static inline void VertexAttribI4uiv(GLuint index1,const GLuint * v1)
{
	static PFNGLVERTEXATTRIBI4UIVPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIBI4UIVPROC_HPP>(_impl::_get_proc_address("glVertexAttribI4uiv",4,3));
	 fn(index1,v1);
}
typedef void (*PFNGLVERTEXATTRIBI4USVPROC_HPP)(GLuint,const GLushort *);
static inline void VertexAttribI4usv(GLuint index1,const GLushort * v1)
{
	static PFNGLVERTEXATTRIBI4USVPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIBI4USVPROC_HPP>(_impl::_get_proc_address("glVertexAttribI4usv",4,3));
	 fn(index1,v1);
}
typedef void (*PFNGLVERTEXATTRIBIFORMATPROC_HPP)(GLuint,GLint,GLenum,GLuint);
static inline void VertexAttribIFormat(GLuint attribindex1,GLint size1,GLenum type1,GLuint relativeoffset1)
{
	static PFNGLVERTEXATTRIBIFORMATPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIBIFORMATPROC_HPP>(_impl::_get_proc_address("glVertexAttribIFormat",4,3));
	 fn(attribindex1,size1,type1,relativeoffset1);
}
typedef void (*PFNGLVERTEXATTRIBIPOINTERPROC_HPP)(GLuint,GLint,GLenum,GLsizei,const void *);
static inline void VertexAttribIPointer(GLuint index1,GLint size1,GLenum type1,GLsizei stride1,const void * pointer1)
{
	static PFNGLVERTEXATTRIBIPOINTERPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIBIPOINTERPROC_HPP>(_impl::_get_proc_address("glVertexAttribIPointer",4,3));
	 fn(index1,size1,type1,stride1,pointer1);
}
typedef void (*PFNGLVERTEXATTRIBL1DPROC_HPP)(GLuint,GLdouble);
static inline void VertexAttribL1d(GLuint index1,GLdouble x1)
{
	static PFNGLVERTEXATTRIBL1DPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIBL1DPROC_HPP>(_impl::_get_proc_address("glVertexAttribL1d",4,3));
	 fn(index1,x1);
}
typedef void (*PFNGLVERTEXATTRIBL1DVPROC_HPP)(GLuint,const GLdouble *);
static inline void VertexAttribL1dv(GLuint index1,const GLdouble * v1)
{
	static PFNGLVERTEXATTRIBL1DVPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIBL1DVPROC_HPP>(_impl::_get_proc_address("glVertexAttribL1dv",4,3));
	 fn(index1,v1);
}
typedef void (*PFNGLVERTEXATTRIBL2DPROC_HPP)(GLuint,GLdouble,GLdouble);
static inline void VertexAttribL2d(GLuint index1,GLdouble x1,GLdouble y1)
{
	static PFNGLVERTEXATTRIBL2DPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIBL2DPROC_HPP>(_impl::_get_proc_address("glVertexAttribL2d",4,3));
	 fn(index1,x1,y1);
}
typedef void (*PFNGLVERTEXATTRIBL2DVPROC_HPP)(GLuint,const GLdouble *);
static inline void VertexAttribL2dv(GLuint index1,const GLdouble * v1)
{
	static PFNGLVERTEXATTRIBL2DVPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIBL2DVPROC_HPP>(_impl::_get_proc_address("glVertexAttribL2dv",4,3));
	 fn(index1,v1);
}
typedef void (*PFNGLVERTEXATTRIBL3DPROC_HPP)(GLuint,GLdouble,GLdouble,GLdouble);
static inline void VertexAttribL3d(GLuint index1,GLdouble x1,GLdouble y1,GLdouble z1)
{
	static PFNGLVERTEXATTRIBL3DPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIBL3DPROC_HPP>(_impl::_get_proc_address("glVertexAttribL3d",4,3));
	 fn(index1,x1,y1,z1);
}
typedef void (*PFNGLVERTEXATTRIBL3DVPROC_HPP)(GLuint,const GLdouble *);
static inline void VertexAttribL3dv(GLuint index1,const GLdouble * v1)
{
	static PFNGLVERTEXATTRIBL3DVPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIBL3DVPROC_HPP>(_impl::_get_proc_address("glVertexAttribL3dv",4,3));
	 fn(index1,v1);
}
typedef void (*PFNGLVERTEXATTRIBL4DPROC_HPP)(GLuint,GLdouble,GLdouble,GLdouble,GLdouble);
static inline void VertexAttribL4d(GLuint index1,GLdouble x1,GLdouble y1,GLdouble z1,GLdouble w1)
{
	static PFNGLVERTEXATTRIBL4DPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIBL4DPROC_HPP>(_impl::_get_proc_address("glVertexAttribL4d",4,3));
	 fn(index1,x1,y1,z1,w1);
}
typedef void (*PFNGLVERTEXATTRIBL4DVPROC_HPP)(GLuint,const GLdouble *);
static inline void VertexAttribL4dv(GLuint index1,const GLdouble * v1)
{
	static PFNGLVERTEXATTRIBL4DVPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIBL4DVPROC_HPP>(_impl::_get_proc_address("glVertexAttribL4dv",4,3));
	 fn(index1,v1);
}
typedef void (*PFNGLVERTEXATTRIBLFORMATPROC_HPP)(GLuint,GLint,GLenum,GLuint);
static inline void VertexAttribLFormat(GLuint attribindex1,GLint size1,GLenum type1,GLuint relativeoffset1)
{
	static PFNGLVERTEXATTRIBLFORMATPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIBLFORMATPROC_HPP>(_impl::_get_proc_address("glVertexAttribLFormat",4,3));
	 fn(attribindex1,size1,type1,relativeoffset1);
}
typedef void (*PFNGLVERTEXATTRIBLPOINTERPROC_HPP)(GLuint,GLint,GLenum,GLsizei,const void *);
static inline void VertexAttribLPointer(GLuint index1,GLint size1,GLenum type1,GLsizei stride1,const void * pointer1)
{
	static PFNGLVERTEXATTRIBLPOINTERPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIBLPOINTERPROC_HPP>(_impl::_get_proc_address("glVertexAttribLPointer",4,3));
	 fn(index1,size1,type1,stride1,pointer1);
}
typedef void (*PFNGLVERTEXATTRIBP1UIPROC_HPP)(GLuint,GLenum,GLboolean,GLuint);
static inline void VertexAttribP1ui(GLuint index1,GLenum type1,GLboolean normalized1,GLuint value1)
{
	static PFNGLVERTEXATTRIBP1UIPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIBP1UIPROC_HPP>(_impl::_get_proc_address("glVertexAttribP1ui",4,3));
	 fn(index1,type1,normalized1,value1);
}
typedef void (*PFNGLVERTEXATTRIBP1UIVPROC_HPP)(GLuint,GLenum,GLboolean,const GLuint *);
static inline void VertexAttribP1uiv(GLuint index1,GLenum type1,GLboolean normalized1,const GLuint * value1)
{
	static PFNGLVERTEXATTRIBP1UIVPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIBP1UIVPROC_HPP>(_impl::_get_proc_address("glVertexAttribP1uiv",4,3));
	 fn(index1,type1,normalized1,value1);
}
typedef void (*PFNGLVERTEXATTRIBP2UIPROC_HPP)(GLuint,GLenum,GLboolean,GLuint);
static inline void VertexAttribP2ui(GLuint index1,GLenum type1,GLboolean normalized1,GLuint value1)
{
	static PFNGLVERTEXATTRIBP2UIPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIBP2UIPROC_HPP>(_impl::_get_proc_address("glVertexAttribP2ui",4,3));
	 fn(index1,type1,normalized1,value1);
}
typedef void (*PFNGLVERTEXATTRIBP2UIVPROC_HPP)(GLuint,GLenum,GLboolean,const GLuint *);
static inline void VertexAttribP2uiv(GLuint index1,GLenum type1,GLboolean normalized1,const GLuint * value1)
{
	static PFNGLVERTEXATTRIBP2UIVPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIBP2UIVPROC_HPP>(_impl::_get_proc_address("glVertexAttribP2uiv",4,3));
	 fn(index1,type1,normalized1,value1);
}
typedef void (*PFNGLVERTEXATTRIBP3UIPROC_HPP)(GLuint,GLenum,GLboolean,GLuint);
static inline void VertexAttribP3ui(GLuint index1,GLenum type1,GLboolean normalized1,GLuint value1)
{
	static PFNGLVERTEXATTRIBP3UIPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIBP3UIPROC_HPP>(_impl::_get_proc_address("glVertexAttribP3ui",4,3));
	 fn(index1,type1,normalized1,value1);
}
typedef void (*PFNGLVERTEXATTRIBP3UIVPROC_HPP)(GLuint,GLenum,GLboolean,const GLuint *);
static inline void VertexAttribP3uiv(GLuint index1,GLenum type1,GLboolean normalized1,const GLuint * value1)
{
	static PFNGLVERTEXATTRIBP3UIVPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIBP3UIVPROC_HPP>(_impl::_get_proc_address("glVertexAttribP3uiv",4,3));
	 fn(index1,type1,normalized1,value1);
}
typedef void (*PFNGLVERTEXATTRIBP4UIPROC_HPP)(GLuint,GLenum,GLboolean,GLuint);
static inline void VertexAttribP4ui(GLuint index1,GLenum type1,GLboolean normalized1,GLuint value1)
{
	static PFNGLVERTEXATTRIBP4UIPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIBP4UIPROC_HPP>(_impl::_get_proc_address("glVertexAttribP4ui",4,3));
	 fn(index1,type1,normalized1,value1);
}
typedef void (*PFNGLVERTEXATTRIBP4UIVPROC_HPP)(GLuint,GLenum,GLboolean,const GLuint *);
static inline void VertexAttribP4uiv(GLuint index1,GLenum type1,GLboolean normalized1,const GLuint * value1)
{
	static PFNGLVERTEXATTRIBP4UIVPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIBP4UIVPROC_HPP>(_impl::_get_proc_address("glVertexAttribP4uiv",4,3));
	 fn(index1,type1,normalized1,value1);
}
typedef void (*PFNGLVERTEXATTRIBPOINTERPROC_HPP)(GLuint,GLint,GLenum,GLboolean,GLsizei,const void *);
static inline void VertexAttribPointer(GLuint index1,GLint size1,GLenum type1,GLboolean normalized1,GLsizei stride1,const void * pointer1)
{
	static PFNGLVERTEXATTRIBPOINTERPROC_HPP fn=reinterpret_cast<PFNGLVERTEXATTRIBPOINTERPROC_HPP>(_impl::_get_proc_address("glVertexAttribPointer",4,3));
	 fn(index1,size1,type1,normalized1,stride1,pointer1);
}
typedef void (*PFNGLVERTEXBINDINGDIVISORPROC_HPP)(GLuint,GLuint);
static inline void VertexBindingDivisor(GLuint bindingindex1,GLuint divisor1)
{
	static PFNGLVERTEXBINDINGDIVISORPROC_HPP fn=reinterpret_cast<PFNGLVERTEXBINDINGDIVISORPROC_HPP>(_impl::_get_proc_address("glVertexBindingDivisor",4,3));
	 fn(bindingindex1,divisor1);
}
static inline void Viewport(GLint x1,GLint y1,GLsizei width1,GLsizei height1)
{
	 glViewport(x1,y1,width1,height1);
}
typedef void (*PFNGLVIEWPORTARRAYVPROC_HPP)(GLuint,GLsizei,const GLfloat *);
static inline void ViewportArrayv(GLuint first1,GLsizei count1,const GLfloat * v1)
{
	static PFNGLVIEWPORTARRAYVPROC_HPP fn=reinterpret_cast<PFNGLVIEWPORTARRAYVPROC_HPP>(_impl::_get_proc_address("glViewportArrayv",4,3));
	 fn(first1,count1,v1);
}
typedef void (*PFNGLVIEWPORTINDEXEDFPROC_HPP)(GLuint,GLfloat,GLfloat,GLfloat,GLfloat);
static inline void ViewportIndexedf(GLuint index1,GLfloat x1,GLfloat y1,GLfloat w1,GLfloat h1)
{
	static PFNGLVIEWPORTINDEXEDFPROC_HPP fn=reinterpret_cast<PFNGLVIEWPORTINDEXEDFPROC_HPP>(_impl::_get_proc_address("glViewportIndexedf",4,3));
	 fn(index1,x1,y1,w1,h1);
}
typedef void (*PFNGLVIEWPORTINDEXEDFVPROC_HPP)(GLuint,const GLfloat *);
static inline void ViewportIndexedfv(GLuint index1,const GLfloat * v1)
{
	static PFNGLVIEWPORTINDEXEDFVPROC_HPP fn=reinterpret_cast<PFNGLVIEWPORTINDEXEDFVPROC_HPP>(_impl::_get_proc_address("glViewportIndexedfv",4,3));
	 fn(index1,v1);
}
typedef void (*PFNGLWAITSYNCPROC_HPP)(GLsync,GLbitfield,GLuint64);
static inline void WaitSync(GLsync sync1,GLbitfield flags1,GLuint64 timeout1)
{
	static PFNGLWAITSYNCPROC_HPP fn=reinterpret_cast<PFNGLWAITSYNCPROC_HPP>(_impl::_get_proc_address("glWaitSync",4,3));
	 fn(sync1,flags1,timeout1);
}}
#endif
